使用Ajax访问外部php文件

时间:2011-11-25 15:58:37

标签: php jquery

所以我试图访问外部php文件中的一些内容(不在我的域上)但是我可以浏览内容但我无法通过jquery访问它ajax这里是我的代码:

function newarticle()
{
var ajax_load = "<img src='images/spiral.gif' align='center' alt='loading...' />";  

//load() functions  
var loadUrl = "http://www.webapp-testing.com/includes/newarticles.php";  
$("#articles").click(function(){  
    $("#pagetitle").html(ajax_load).load("New Articles");
    $("#listarticles").html(ajax_load).load(loadUrl);  
}); 
}

我在访问此内容时做错了什么?

3 个答案:

答案 0 :(得分:2)

由于Same Origin Policy,您只能在同一个域上发出AJAX请求。你最好的选择是建立服务器端(像PHP这样的代理)。然后,您将在代理(将在同一服务器上)发出请求,该请求将向页面发出请求并返回信息。

答案 1 :(得分:1)

正如Xeon06所说 - 你不能用AJAX发出跨站点请求。你可以看看JSONP虽然基本上允许你这样做  Link to jQuery docs
Link to JSONP Wikipedia

答案 2 :(得分:0)

创建自己的php文件,使用curl获取所需网址的内容。 - &GT; http://ch.php.net/manual/de/book.curl.php

=&GT; your_php_file.php

<?php

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://www.webapp-testing.com/includes/newarticles.php");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($curl);
curl_close($curl);

print $page;

?>

在您的javascript代码中,调用your_php_file.php

function newarticle()
{
var ajax_load = "<img src='images/spiral.gif' align='center' alt='loading...' />";  

//load() functions  
var loadUrl = "your_php_file.php";  
$("#articles").click(function(){  
    $("#pagetitle").html(ajax_load).load("New Articles");
    $("#listarticles").html(ajax_load).load(loadUrl);  
}); 
}