所以我试图访问外部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);
});
}
我在访问此内容时做错了什么?
答案 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);
});
}