服务器迁移后出现奇怪的javascript/json错误

服务器迁移后出现奇怪的javascript/json错误,javascript,jquery,jsonp,Javascript,Jquery,Jsonp,我有一个托管在服务器a上的网站,它向服务器B上的网站发送请求 服务器B上的网站最近已移动到另一台服务器。让我们称之为服务器C 由于服务器迁移,请求的信息不再显示在服务器A上 服务器A用于发送请求的javascript如下所示: <script type="text/javascript"> jQuery(document).ready(function() { var ppUrl = 'http://www.nowgamernetwork.com/

我有一个托管在服务器a上的网站,它向服务器B上的网站发送请求

服务器B上的网站最近已移动到另一台服务器。让我们称之为服务器C

由于服务器迁移,请求的信息不再显示在服务器A上

服务器A用于发送请求的javascript如下所示:

<script type="text/javascript">         
   jQuery(document).ready(function() {
      var ppUrl = 'http://www.nowgamernetwork.com/widgets/index.php?widget=popular&sourcetag=/other/&callback=jsonp1372412035546&_=1372412036723';
      jQuery.getJSON(ppUrl, function(data) {
          jQuery('.ipPopularPosts').append(data.content);
      });
   });
</script>
<script type="text/javascript">window.jQuery || document.write("<script src='http://www.nowgamernetwork.com/js/libs/jquery-1.5.1.min.js'>\x3C/script>")</script>
但当网站请求这些信息时,我会收到以下javascript错误:

Resource interpreted as Script but transferred with MIME type text/html: "http://www.nowgamernetwork.com/widgets/index.php?widget=popular&sourcetag=/other/&callback=jsonp1372416916349&_=1372416917575". jquery.js:3501

Uncaught SyntaxError: Unexpected token < index.php:1
资源解释为脚本,但使用MIME类型text/html传输:http://www.nowgamernetwork.com/widgets/index.php?widget=popular&sourcetag=/other/&callback=jsonp1372416916349&_=1372416917575". jquery.js:3501
未捕获的语法错误:意外标记
上面的错误与index.php上的第1行有关,如下所示:

<script type="text/javascript">         
   jQuery(document).ready(function() {
      var ppUrl = 'http://www.nowgamernetwork.com/widgets/index.php?widget=popular&sourcetag=/other/&callback=jsonp1372412035546&_=1372412036723';
      jQuery.getJSON(ppUrl, function(data) {
          jQuery('.ipPopularPosts').append(data.content);
      });
   });
</script>
<script type="text/javascript">window.jQuery || document.write("<script src='http://www.nowgamernetwork.com/js/libs/jquery-1.5.1.min.js'>\x3C/script>")</script>
window.jQuery | | document.write(“\x3C/script>”)
出于某种原因,服务器A不喜欢它从服务器C得到的响应以“
\x3C/script>
看到问题了吗?

\x3C/script>
看到问题了吗?

修复了它

服务器C上的PHP脚本使用“ob_get_contents”将所有html转换成json格式。我注意到ob_start丢失了,所以我添加了它,现在它以正确的格式返回数据

由于某种原因,服务器B不需要ob_启动就可以工作。

修复了它

服务器C上的PHP脚本使用“ob_get_contents”将所有html转换成json格式。我注意到ob_start丢失了,所以我添加了它,现在它以正确的格式返回数据

出于某种原因,服务器B不需要ob_启动就可以工作。

  • 在url中使用&callback=?'
  • 数据类型:“jsonp”
(函数($){
var url='1〕http://www.nowgamernetwork.com/widgets/index.php?widget=popular&sourcetag=/other/&callback=?';
$.ajax({
键入:“GET”,
url:url,
async:false,
JSONPCCallback:'jsonCallback',
contentType:“应用程序/json”,
数据类型:“jsonp”,
成功:函数(json){
$(document.body).html(json.content)
},
错误:函数(e){
控制台日志(e.message);
}
});
})(jQuery);
  • 在url中使用&callback=?'
  • 数据类型:“jsonp”
(函数($){
var url='1〕http://www.nowgamernetwork.com/widgets/index.php?widget=popular&sourcetag=/other/&callback=?';
$.ajax({
键入:“GET”,
url:url,
async:false,
JSONPCCallback:'jsonCallback',
contentType:“应用程序/json”,
数据类型:“jsonp”,
成功:函数(json){
$(document.body).html(json.content)
},
错误:函数(e){
控制台日志(e.message);
}
});
})(jQuery);

传递有效的JSON,这应该可以解决问题,如果是跨域的,则传递有效的JSONP?我不需要更改任何代码,因为它在服务器B上工作得非常好。现在代码托管在服务器C上,它已经停止工作了吗?也许这是一个服务器配置问题?传递有效的JSON,这应该可以解决问题,如果它是跨域的,则传递有效的JSONP?我不需要更改任何代码,因为它在服务器B上工作得非常好。现在代码托管在服务器C上,它已经停止工作了吗?也许这是一个服务器配置问题?我不应该更改任何代码,因为它在服务器B上工作得很好。现在代码托管在服务器C上,它已经停止工作了?可能是服务器配置问题?好的,但我不确定
\x3C/script>
是否有效。我不应该更改任何代码,因为它在服务器B上工作得很好。现在代码托管在服务器C上,它已经停止工作了吗?可能是服务器配置问题?好的,但我不确定
\x3C/script>
是否有效