0
我正在为我的Ruby on Rails网站开发一个API,当我尝试使用jQuery来捕获响应令牌时,出现问题。随着卷曲工作正常,但在jQuery中没有得到任何回应。JSON的空JSON POST响应,但与Curl一起工作
Rails的控制器
render :status => 200, :json => { :token => @user.authentication_token }
的部分使用curl:
[email protected]:~/$ curl -F '[email protected]' -F 'password=12345' http://localhost:3000/api/v1/tokens.json
Response with:
{"token":"azScPXjgppqR1Q3cH82S"}
使用jQuery
function login() {
$.ajax({
url: "http://localhost:3000/en/api/v1/tokens.json",
type: "POST",
dataType: "json",
data: "[email protected]&password=12345",
crossDomain: "true",
beforeSend: function() {
// loading
},
success: function(data) {
// finish load
alert(data.message);
},
error: function(request, type, errorThrown) {
alert(request.status + " " + request.statusText);
}
});
}
使用jQuery我得到的警报 “0错误”,并萤火显示空响应。 (32b尺寸)。
有什么想法?
在此先感谢。
为什么你将crossDomain设置为true?这用于JSONP调用而不是用于JSON调用。如果你删除了会发生什么? – JoshL 2012-07-07 00:36:50
网址不一样,一个是'en/api'另一个是'/ api /' – Tyrsius 2012-07-07 00:54:56
我不认为你可以使用json进行跨域请求;你有没有试过json? – nbrooks 2012-07-07 01:20:31