我正在尝试向此文件发出请求:http://traitdesign.com/work/tattva/get.php
这是我到目前为止的代码:
function getRemote() {
return $.ajax({
type: "GET",
url: 'http://traitdesign.com/work/tattva/get.php',
async: false,
}).responseText;
}
getRemote();
问题是响应标头是空的,它不会返回任何结果。任何帮助,将不胜感激。谢谢
答案 0 :(得分:0)
尝试使用JSONP
function getRemote() {
return $.ajax({
type: "GET",
url: 'http://traitdesign.com/work/tattva/get.php',
async: false,
dataType: "jsonp",
});
}
getRemote();
“jsonp”:使用JSONP加载JSON块。添加一个额外的 “?回调=?”到URL的末尾以指定回调。禁用 通过将查询字符串参数“_ = [TIMESTAMP]”附加到缓存来缓存 URL除非cache选项设置为true。
答案 1 :(得分:0)
问题是'同源政策'。但你可以摆脱它。但仍存在一些安全问题。 请检查一下。 http://enable-cors.org/server_php.html
header("Access-Control-Allow-Origin: *");
将此行包含在get.php文件中。
答案 2 :(得分:0)
我认为您的最佳选择是在您的服务器上编写简单的ajax操作,如:
print(file_get_contents('http://traitdesign.com/work/tattva/get.php');
并对你的新动作进行ajax调用。它将通过您的服务器,因此将完成额外的服务器工作,但您不需要关心安全策略。
答案 3 :(得分:0)
将JSONP与回调一起使用。调用完成后也返回值。
function getRemote() {
var jqXHR = $.ajax({
type: "GET",
dataType: "jsonp",
url: 'http://traitdesign.com/work/tattva/get.php',
async: false,
crossDomain: true
});
return jqXHR.responseText;
}
getRemote();