gpt4 book ai didi

javascript - JSON ParseError 即使请求成功

转载 作者:行者123 更新时间:2023-11-29 10:19:55 26 4
gpt4 key购买 nike

即使从服务器成功返回,我仍收到 JSON 解析错误。这是我的保存代码,其中始终运行 fail()

@model.save()
.fail(=> @resetForm() )
.always (obj, error) ->
console.log obj
console.log obj.responseText
console.log JSON.parse(obj.responseText)

这是我的错误对象:

"parsererror"
"No conversion from text to http://api2.local/users/auth"

一些注意事项:

我正在使用 Jquery 1.8.3 和 Backbone 0.9.9
服务器使用 json 正确响应 - 这是我的响应 header

Access-Control-Allow-Headers:origin, x-requested-with, content-type, accept
Access-Control-Allow-Methods:GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin:*
Access-Control-Max-Age:86400
Connection:Keep-Alive
Content-Length:202
Content-Type:application/json; charset=utf-8
Date:Fri, 21 Dec 2012 18:46:25 GMT
Keep-Alive:timeout=5, max=100
Server: xxx
X-Powered-By:PHP/5.3.1

console.log JSON.parse(obj.responseText) 正确地给我一个 JSON 对象

编辑:请求 header

Accept:*/*
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
Cache-Control:no-cache
Connection:keep-alive
Content-Length:54
Content-Type:application/json
Host:api2.local
Origin:http://localhost:3000
Pragma:no-cache
Referer:http://localhost:3000/login
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11
X-Requested-With:XMLHttpRequest

编辑:通过 POST 请求负载

{"email":"x@x.com","password":"xxx"}

编辑:响应负载

{
"user_id":"xx",
"first_name":"xxx",
"last_name":"xxx",
"email":"x@x.com",
"role":"xxxx",
"date_joined":"xxx"
}

最佳答案

啊啊啊 - 编程有时真是令人恼火。终于弄明白了——感谢大家的帮助,但这是一个简单的 coffeescript 编译问题

所以在我之前

$.ajaxPrefilter ( (options, originalOptions, jqXHR) -> 
options.url = "#{ API_URL }" + options.url
)

编译返回 options.url 和 $.ajaxPrefilter。无论出于何种原因,Jquery 都将 options.url 作为 DataTypes argument 选择。在 ajaxPrefilter 函数上。解决方案是返回 false:

$.ajaxPrefilter \
(options, originalOptions, jqXHR) ->
options.url = "#{ API_URL }" + options.url
no

给出正确的编译版本

return $.ajaxPrefilter(function(options, originalOptions, jqXHR) {
options.url = ("" + API_URL) + options.url;
return false;
});

关于javascript - JSON ParseError 即使请求成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13995687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com