php - 如何进行跨域ajax调用

标签 php jquery ajax jsp

<分区>

我可以访问一个 API,它是一个 JSP 文件,采用 JSON 格式。我试图从 JSP 页面获取这些数据到 PHP 脚本并处理它们,然后存储在我的 MySQL 服务器中。

JSP页面中的JSON字符串是有效的 我在网上查了几个JSON Formatter和validator。

这是我用来从页面获取 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();
})

请帮助我,欢迎提出更好的建议。

最佳答案

您正在进行跨域 ajax 调用。因此,如果您像普通的 ajax 调用一样尝试它,它将无法正常工作。

一种方式是喜欢

  1. 在您向其发出 ajax 请求的服务器端将“Access-Control-Allow-Origin”设置为“*”。

  2. 然后制作一个jquery ajax使用设置变量中的“crossDomain”属性“true”调用。

另一种方法是使用 jsonp

根据您使用的服务器,您可以找到如何添加 cors in this article .

更新

她是a w3c article其中描述了如何在 java servlet 中配置 cors。请参阅在 Java servlet 中部分。

要点基本上是提供 ajax 响应的服务器应该具有 "Access-Control-Allow-Origin" 字段在响应 header 中设置为 "*"

关于php - 如何进行跨域ajax调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16330940/

相关文章:

javascript - 有没有办法在显示之前获取最初具有 display=none 的动态插入/创建的 div 的高度?

javascript - 如何在 while 循环中为每个 div 创建一个 ID 并使用 JQuery 发出警报

javascript - 如何选择并运行这个onload函数?

javascript - 结合砌体,imagesLoaded 与 ajax 功能

php - 如何定位图片弹出窗口

php - 变焦标记但是......它在移动! O.O 什么鬼

java - 将字符写入 Java 套接字时 fsockopen 10053 错误

javascript - 使用 id 从表中删除特定行并使用 Jquery Ajax php mysql 在后台刷新同一个表

Javascript 在追加时不显示输入字段

php - 如何将字符串传递给包含特殊字符的javascript函数