2014-06-10 5 views
1

나는 백본에 아주 새로운 해요 및 그것을 작동 및 코드의 무리를 상속하지만 난 전혀이 문제를 해결 할 수없는 방법 :백본 PUT 데이터 전송하는 WWW를 형식-urlencoded를 대신 응용 프로그램의/JSON

I) (

user.save({username: $newtarget.val()},null); 

또는 user.save; 그런 다음 다른 곳에서 내보기에

var User = Backbone.Model.extend({ 
    idAttribute: 'username', 
    defaults: { 
     username: "", 
     email: "", 
     roles : [], 
     password: "" 
    } 

}); 

var Users = Backbone.Collection.extend({ 
    model: User, 
    initialize: function(args, options) { 
     if (options && options.dialog) { 
      this.dialog = options.dialog; 
     } 
    }, 

    parse: function(response) { 
     if (this.dialog) { 
      this.dialog.populate(response); 
     } 
     return response; 
    }, 

    url: function() { 
     var segment = AdminUrl + "/users"; 
     return segment; 
    } 
}); 

내가 뭘 : 사용자 모델을 가지고

풋가 올바른 URL로 해고 되나마다이 트리거를 전송의

데이터

Content-Type application/x-www-form-urlencoded; charset=UTF-8 

하지만 내 뉴저지 엔드 포인트가 사방 사람들이 urlencode되고 데이터를 넣어 어려움을 겪고있다 읽기 응용 프로그램/JSON

을 받아 하지만 내 문제는 주위에 있습니다! 나는 콘텐츠 형식 및 데이터를 강제하는 경우

username=admin&email=&password=admin&roles%5B%5D=ROLE_USER&roles%5B%5D=ROLE_ADMIN&id=1 

=== 편집 ===은

:

user.save({}, {data: JSON.stringify(user.attributes),contentType: "application/json"}); 

풋 잘 작동

매개 변수의 URL PARAMS로 전송되고있다 , 그것은 기괴하다.

답변

1

Backbone.emulateJSON = false;

이 문서에서 어떤 이유로 true

직접 응용 프로그램/JSON 요청을 처리 할 수없는 기존 서버를 지원하는 emulateJSON에

차례입니다 ...를 인코딩합니다 body를 application/x-www-form-urlencoded로 바꾸고 form param이라는 모델로 모델을 보냅니다. 회신에 대한

http://backbonejs.org/docs/backbone.html

+0

덕분에, 자사는하지, 또한 문서는 JSON과 같은 매개 변수를 게시 할 것이라고 말한다 "양식 PARAM라는 이름의 모델에서 모델을 보낼 것입니다." 하지만 URL 매개 변수로 지나가는 나의 광산 : username = admin & email = & password = admin & roles % 5B % 5D = ROLE_USER & roles % 5B % 5D = ROLE_ADMIN & id = 1 – bugg

+0

넣은 내용은 무엇입니까? – exussum

+0

JS 바이올린을 만들 수 있습니까? – exussum