我可以访问一个API,它是一个JSP文件,采用JSON格式。我试图将这些数据从JSP页面提取到PHP脚本并处理它们然后存储在我的MySQL服务器中。
JSON字符串在我在少量JSON Formatter和验证器在线检查的JSP页面中有效。
这是我用来从页面获取JSON数据的代码,但每次我的ajax调用都失败时。
$('#button').click(function(e){
var url = 'http://xxxxx:8080/StudentAPI/index.jsp';
$.ajax({
url : url,
dataType : 'json',
success : function(response) {
alert('Success');
},
error : function(request, textStatus, errorThrown) {
alert(request+textStatus+errorThrown);
}
});
e.preventDefault();
})
请帮助我,并且总是欢迎以更好的方式做任何建议。
答案 0 :(得分:3)
您正在进行跨域ajax调用。所以如果你像普通的ajax调用一样尝试它就不会工作。
一种方式就是
在您向其发出ajax请求的服务器端将“Access-Control-Allow-Origin”设置为“*”。
然后在设置变量中使用'crossDomain'属性'true'进行jquery ajax调用。
另一种方法是使用jsonp
取决于您使用的服务器,您可以找到如何添加cors in this article。
她是a w3c article,它描述了如何在java servlet中配置cors。请参阅在Java servlet 部分。
关键在于提供ajax响应的服务器应该具有
"Access-Control-Allow-Origin"
字段在响应标头中设置为"*"
。