2012-06-21 2 views
4

백본 모델에서 save()을 호출합니다. 이 모든 브라우저의 모든 버전에서 내가 ( 제외) 및 iOS의 Safari를 제외한 모든 버전에서 작동합니다.Safari에서 400 오류 만 저장

두 브라우저에서 400 Bad Request 오류로 서버에 접속하기 전에 통화가 실패합니다. 내 User 모델은 다음과 같습니다

../common/User/처럼 호출 보이는 : 내가 할 수

{"BrowserType":"Safari","BrowserVersion":5.1,"ApplicationPath":"index"} 

나는 확실하지 않은 어떤 다른 정보 :이 같은 모습을 저장하려고

Backbone.Model.extend({ 

    idAttribute: "UserId", 
    initialize: function() { 
    }, 

    url: function() { 
     var base = 'common/User/'; 
     return (this.isNew()) ? base : base + this.id; 
    },... 

정보 도움이되도록 제공하십시오.

왜 이런 일이 일어날 수 있으리라 생각하십니까?

편집 요청 헤더 보이는 같은 :

Accept:application/json, text/javascript, */*; q=0.01 
Content-Type:application/json 
Origin:http://localhost:1087 
Referer:http://localhost:1087/index.html 
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 
X-Requested-With:XMLHttpRequest 
+0

Webinspector를 여는 경우 헤더의 요청 URL은 무엇입니까? – marcoo

+0

http : // localhost : 1087/common/User/locally ... 끝에 슬래시가 붙습니다 ... (여기에서 벗어나는 방법을 알아낼 수 없습니다) –

+0

오류를 재현 할 수 없습니다. 전체 요청 헤더를 게시 할 수 있습니까? 어떤 서버를 사용합니까? – marcoo

답변

2

업데이트 끝에 슬래시를 포함 할 User 모델의 url 방법 :

url: function() { 
    var base = 'common/User/'; 
    return (this.isNew()) ? base : base + this.id + "/"; 
}, 
내 백본 프로젝트에서 같은 문제가되었다

- 모두 POST/PUT/PATCH 특정 모델에 대한 요청이 Safari에서 실패하고 다른 브라우저에서도 문제가 없었지만 모바일 사파리. @mu is too short's comment에서 알 수 있듯이 내 모델의 url 메서드에 후행 슬래시를 추가하면 문제가 해결되었습니다.