0

我正在尝试向这个文件发出请求: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();

问题是响应标头为空,它不返回任何结果。任何帮助,将不胜感激。谢谢你

4

4 回答 4

0

我认为在您的情况下最好的方法是在您的服务器上编写简单的 ajax 操作,例如:

print(file_get_contents('http://traitdesign.com/work/tattva/get.php');

并对您的新操作进行 ajax 调用。它将通过您的服务器,因此将完成额外的服务器工作,但您无需关心安全策略。

于 2013-11-14T14:39:43.187 回答
0

问题是“同源策略”。但你可以逃脱它。但仍会存在一些安全问题。请检查这个。http://enable-cors.org/server_php.html

header("Access-Control-Allow-Origin: *");

将此行包含到您的 get.php 文件中。

于 2013-11-14T14:38:18.393 回答
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();
于 2013-11-14T14:41:33.597 回答
0

尝试JSONP

function getRemote() {
    return $.ajax({
        type: "GET",
        url: 'http://traitdesign.com/work/tattva/get.php',
        async: false,
        dataType: "jsonp",
    });
}
getRemote(); 

“jsonp”:使用 JSONP 加载到 JSON 块中。添加一个额外的“?callback =?” 到 URL 的末尾以指定回调。通过将查询字符串参数“_=[TIMESTAMP]”附加到 URL 来禁用缓存,除非缓存选项设置为 true。

于 2013-11-14T14:35:20.823 回答