外部AJAX请求不起作用
External AJAX request not working
我正在尝试从外部发送AJAX请求,但它不起作用,它在本地起作用,但只要我尝试将它链接到外部网页,它就什么也做不了。
我读过一些书,我读到他们的政策被称为同源政策,由于安全原因不允许访问。
这让我读入了jsonp,但这给了我一个语法错误
我只是想显示我的数据库中的信息,它不是JSON或XML之类的任何格式。
如有任何帮助,将不胜感激
Jquery
var dataString = 'gender=' + gender + '&Status=' + status + '&Lovethem1=' + lovethem +
'&Lovethem2=' + lovethem2 +'&Arrays=' + vals;
$.ajax({
type: "GET",
url: 'http://transformer.tamar.com/test.php',
jsonp: 'jsonp',
jsonpCallback: "myJsonMethod",
data: dataString,
success: function (result) {
var div = document.getElementById('update');
$('#update').show();
div.innerHTML = result;
//process the json here.
}
});
如果服务器没有返回JSON数据,并且您不能将其与JSONP一起使用,那么您的最佳选择是服务器端解决方案。
用你喜欢的任何语言创建一个小的PHP脚本或web应用程序,它将向远程服务器发出HTTP请求,检索结果,并将其发送回你向它发出的请求。当然,这必须是本地的,这样你的AJAX JS代码才能在同源策略下使用它。这里有一个桥接/代理脚本的好例子:使用jQuery和Ajax 的远程POST请求
您可以创建简单的php脚本来避免同源策略,将其放置在本地,并对该本地文件执行ajax请求。
例如,创建新的php文件:
/test.php
$queryString = $_SERVER['REQUEST_URI'];
echo file_get_contents('http://transformer.tamar.com'.$queryString);
现在您可以在本地执行ajax(到这个将完成所有工作的新php脚本)
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.
}
});
相关文章:
- 为什么 AJAX POST 请求不起作用
- AJAX请求不起作用,除非使用alert()
- Ajax Post请求不起作用
- IE8 jquery ajax头请求不起作用
- jQuery点击功能在获取请求后不起作用
- 使用Javascript的Ajax请求在iPhone浏览器中不起作用
- JQuery AJAX请求不起作用
- Node.js cors请求-异步示例不起作用
- Ajax 对 JSON 的请求不起作用
- React JS js 中的 AJAX 请求不起作用
- 对 URL 的 JSON-P 请求不起作用
- Jquery ajax请求不起作用
- 带有ajax xml请求的Node js脚本不起作用
- Ajax请求三次都不起作用,然后就起作用了
- AngularJS http.jsonp请求.then和.success函数不起作用
- Jquery ajax发布请求不起作用
- 外部AJAX请求不起作用
- 对SOAP服务的Preflight OPTIONS请求不起作用
- 使用AJAX发出POST请求;不起作用
- 第二个ajax请求在移动浏览器上不起作用