jQuery $ .get失败

时间:2011-08-01 22:18:37

标签: javascript jquery html css

我正在使用$ .get来发送和接收来自我的php文件的响应。 当我访问get-​​ratings.php时,它会正常输出响应。 然后当我使用jquery时,它完全失败了。

这些是萤火虫日志

PARAMS:

ids fymCtKsm71o,C-4JaNph8Lw,wjdUA2Ws7To,8MTKCig_8SM,2EGJzw3ksYo,vs7NPsSiNv4,MhfJs6ZyWtQ,5QJnPIOqqdw,1lh9rsqOoVM,uMPQTvmOzMM,wpZHXP-hbnU,qUQsKUglv0g,Zt1Z7TYztcA,3UrXj43ORPg,YWSG9Mo4GQQ,LCqr4ZU0t3M,71YsRO6G7Ks,8HZPb7ulu08,rnkn1lVGE2Q,bRNkJM264Kk,nbsmonNnbBQ,HsTlpMPWHlA,FbsgHbXubGU,D9DkciMTsLI,2j3afn_On6I,ofmSvHGCPQE,EBWo-F2G4Wg,b5pGmQXQdF8,v-1EaCwJkKk,ccGKGkkhGZo,JYArUl0TzhA,VwMSsicKRYI,hy4hKG1A0T8,21y8qdoAUI8,

接头

Date    Mon, 01 Aug 2011 21:41:31 GMT
Server  Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
X-Powered-By    PHP/5.3.6
Keep-Alive  timeout=5, max=100
Connection  Keep-Alive
Transfer-Encoding   chunked
Content-Type    text/html
Request Headers
Host    
User-Agent  Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept  */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  115
DNT 1
Connection  keep-alive
Referer 
Origin  

响应为空,在网址旁边有红色x

200 OK 9.23s

即使我将我的php文件设置为只回显一行简单的文本,它也会失败。

这是我正在使用的jquery代码

        $.get("get-ratings.php", { ids:vidIds.trim(",") }, function(data){
            console.log("MADE IT: " + data);
        });

我从一个javascript文件中调用此代码,该文件包含在与托管的get-ratings.php不同的域中。

我尝试过使用$ .post和$ .ajax,两者都失败了。

2 个答案:

答案 0 :(得分:2)

跨域请求通常会失败。使用getJSON。

答案 1 :(得分:1)

跨域策略限制...现代浏览器不允许XHR请求除托管页面之外的域。

如果您有权访问PHP文件,则可以使用JSONP中的技术: 而不是AJAX,创建一个新的脚本元素,将php文件的路径设置为源,并将脚本元素附加到文档。然后,在php文件中,将输出包装在“javascript函数”中。

var script = document.createElement('script');
script.type = 'text/javascript';
script.src = "get-ratings.php";
$("head").append(script);

创建一个新的js函数

window.complete = function(data){
  //do your stuff here with data received;
}

最后是php代码

instead of just "echo $data", use

echo "complete('.$data.')";