Javascript 外部AJAX请求不工作
我试图发送一个AJAX请求外部,但它不工作,它在本地和所有工作,但一旦我尝试和链接它太一个外部网页,它没有做任何事情 我读了一些书,我读到他们的“同一原产地”政策,由于安全原因不允许访问 这让我读入了jsonp,但这给了我一个语法错误 我只是想显示数据库中的信息,而不是JSON或XML等格式 任何帮助都将不胜感激 滑动分页Javascript 外部AJAX请求不工作,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图发送一个AJAX请求外部,但它不工作,它在本地和所有工作,但一旦我尝试和链接它太一个外部网页,它没有做任何事情 我读了一些书,我读到他们的“同一原产地”政策,由于安全原因不允许访问 这让我读入了jsonp,但这给了我一个语法错误 我只是想显示数据库中的信息,而不是JSON或XML等格式 任何帮助都将不胜感激 滑动分页 如果服务器没有返回JSON数据,并且您不能将其与JSONP一起使用,那么您最好的选择是服务器端解决方案 用您喜欢的任何语言创建一个小型PHP脚本或web应用程序,它将向远程服
如果服务器没有返回JSON数据,并且您不能将其与JSONP一起使用,那么您最好的选择是服务器端解决方案 用您喜欢的任何语言创建一个小型PHP脚本或web应用程序,它将向远程服务器发出HTTP请求,检索结果,并将结果发送回您向其发出的请求。当然,这必须是本地的,这样您的AJAX JS代码就可以在同源策略下使用它。
这里有一个很好的桥接/代理脚本示例:您可以创建简单的php脚本来避免同源策略,将其放在本地,并对本地文件执行ajax请求 例如,创建新的php文件: /test.php
$queryString = $_SERVER['REQUEST_URI'];
echo file_get_contents('http://transformer.tamar.com'.$queryString);
现在,您可以在本地执行ajax(这个新的php脚本将完成所有工作)
JSONP是服务器使用的数据格式,只是在ajax调用中设置JSONP的选项不会神奇地起作用,而且如果您联系的服务器不支持跨域调用,跨域调用也不会起作用。您进行此调用的域是否也是?如果不是的话,你就违反了同一原产地的政策。啊,这又是一个老把戏……我不明白的可能的复制品,你能不能再详细一点呢。您可以对新的test.php文件而不是远程url执行ajax。
$queryString = $_SERVER['REQUEST_URI'];
echo file_get_contents('http://transformer.tamar.com'.$queryString);
var dataString = 'gender=' + gender + '&Status=' + status + '&Lovethem1=' + lovethem +
'&Lovethem2=' + lovethem2 +'&Arrays=' + vals;
$.ajax({
type: "GET",
url: '/test.php',
data: dataString,
success: function (result) {
var div = document.getElementById('update');
$('#update').show();
div.innerHTML = result;
//process the json here.
}
});