当我尝试发出json post请求时出现以下错误:
REXML::ParseException (The document "{\"user\":1,\"email\":\"some@email.com\"}:" does not have a valid root):
不知道从哪里开始。
我的标题如下:
Accept:application/json, text/javascript, */*; q=0.01
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:38
Content-Type:application/x-www-form-urlencoded
Cookie:_washapp_session=SOME_COOKIE_STRING
Host:myapp.herokuapp.com
Origin:http://myapp.herokuapp.com
Referer:http://myapp.herokuapp.com/user/1/add_friends
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5
X-CSRF-Token:k5bxjBJ3SCMhe1ILfChoiy6qwkYfVsg0JYZV9KDnwIg=
X-Requested-With:XMLHttpRequest
答案 0 :(得分:5)
内容类型应为application/json
。 接受只是指定您希望如何返回信息,内容类型描述您要发送的内容。
您可以使用$.post指定数据类型:
$.post("http://myapp.herokuapp.com/user/1/add_friends",
{user:1, email:"some@email.com"},
function(data){
processResponse(data);
},
"json");