【发布时间】:2016-11-29 16:55:49
【问题描述】:
首先,我一直在几个主题中寻找我的问题的答案,但我找不到适用于我的代码的解决方案。
我正在尝试从 servlet 中获取答案,如果我转到 http://XXXZZZ/Servlet/Login?login=pepe&pass=1234,我会按预期收到有效的 JSON:
{"id":3,"login":"pepe","key":"0D1DBA4BE87E02D43E082F9AA1ECFDEB"}
但是当我尝试使用 $.ajax 时,我得到了 2 个错误。
$.ajax({
type : "Get",
url :"http://XXXZZZ/Servlet/Login",
data :"login="+login+"&password="+pass,
dataType :"jsonp",
success : function(data){
alert(data);},
error : function(httpReq,status,exception){
alert(status+" "+exception);
}
});
第一个错误(在弹出窗口中):
parsererror Error: jQuery17104145435250829905_1336514329291 was not called
第二个错误(在 Chrome 控制台中):
Uncaught SyntaxError: Unexpected token : Login 1
(还有我在等待的 JSON)。
附:我必须使用 dataType : "jsonp",因为如果我使用 "json" 我也会遇到跨域问题。
【问题讨论】:
-
错误函数是什么?
-
您不能强制 JSONP。它必须由服务器支持并返回。如果没有,你就不走运了。如果您可以控制服务器,请使其支持 JSONP。
-
我也在为服务器编程 ;)
-
这可能不会影响这个答案,但可能会帮助其他用户 - 通常 uri 的参数允许您设置文件格式。如果您收到此错误,请确保将其设置为
format=jsonp!