这是两个页面,test.php和testserver.php.
test.php的
<script src="scripts/jq.js" type="text/javascript"></script>
<script>
$(function() {
$.ajax({url:"testserver.php",
success:function() {
alert("Success");
},
error:function() {
alert("Error");
},
dataType:"json",
type:"get"
}
)})
</script>
Run Code Online (Sandbox Code Playgroud)
testserver.php
<?php
$arr = array("element1",
"element2",
array("element31","element32"));
$arr['name'] = "response";
echo json_encode($arr);
?>
Run Code Online (Sandbox Code Playgroud)
现在我的问题是:当这两个文件都在同一台服务器(localhost或web服务器)上时,它可以工作并被alert("Success")调用; 如果它位于不同的服务器上,意味着Web服务器上的testserver.php和localhost上的test.php,它就无法工作,并且alert("Error")正在执行.即使ajax中的URL更改为http://domain.com/path/to/file/testserver.php
我已经阅读了很多这方面的内容,但我无法弄明白.它与我的代码无关,它与feed或其他东西有关,因为如果我将它与Twitter feed交换它返回一个完美的Object对象.
$.getJSON('http://rockbottom.nozzlmedia.com:8000/api/portland/?count=1&callback=?',function(json){
console.log(json)
});
Run Code Online (Sandbox Code Playgroud)
我得到一个"无效标签"错误.有任何想法吗?
另外,旁注,我也尝试过AJAX方法:
$.ajax({
url: 'http://rockbottom.nozzlmedia.com:8000/api/portland/',
dataType: 'jsonp',
data: 'count=1',
success: function(msg){
console.log(msg)
}
});
Run Code Online (Sandbox Code Playgroud)
并且两者都给出了相同的确切错误,并且两者都适用于Flickr和Twitter示例,因此它必须与Feed有关,但我无权访问Feed,但我可以要求他们修复一些内容,如果这是他们的问题.