JQuery AJAX $.post 失败到 return 数据

JQuery AJAX $.post failure to return data

我在对基于 PHP 的处理器的特定 JQuery $.post 调用时遇到困难。我使用以下代码创建了一个测试页面:http://goo.gl/Bg7H2u

请注意,这位于子域中,但我们不进行跨域发布。所有内容都应包含在子域中。

错误控制台中似乎没有报告任何 JS 错误。

处理器 /get-data.html 是通用 PHP 处理器,如果您使用正确的值加载处理器页面,它 returns 来自 MySQL 数据库格式为 JSON。我们在主域上运行没有问题,其他 $.post 调用似乎可以从该子域正常运行(不是这个 /get-data.html 处理器,而是处理表单内容的其他处理器)。

在此处查看实际的处理器输出:http://goo.gl/yOzrm2

我肯定遗漏了一些明显的东西,但我一无所获。想法?

代码如下:

<!DOCTYPE html> 
<html>
<head>
<meta name="viewport" content="width=320px, initial-scale=1">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
var prices;
$(document).ready(function(){
    $.post( "/get-data.html", { table: 'prices' }, 
        function( data ) { 
            prices = data;
            alert(prices);
        }, 'json');
}); 
</script>
</head>
<body>
    <div style="overflow-x: hidden;" id="divMain">

    </div>
</body>
</html>

感谢您提供的任何建议。

如果您对处理器输出执行 View Source,您将看到您的脚本正在返回:

<p>{"Basic Plan":["349"],"Basic":["349"],"Premium Plan":["549"],"Premium":["549"],"Standard Plan":["429"],"Standard":["429"],"Bonus Plan":["175"],"Additional Central AC System":["99"],"Additional central heating system":["99"],"Central Vacuum":["99"],"Whole home humidifier":["49"],"Pool (in-ground)":["179"],"Spa (in-ground)":["179"],"Septic System":["99"],"Sump Pump":["99"],"Well pump":["99"],"Whole home water softener":["99"],"Lawn sprinkler system (in-ground)":["99"],"Wine refrigerator":["49"],"Ice maker (free standing)":["49"],"Home phone (unlimited)":["49"],"TV Protection (Flat screen up to 60 inches)":["99"],"PC Protection (laptop or desktop)":["49"]}</p>

开头有<p>,结尾有</p>。这是无效的 JSON。您需要修复服务器脚本,以便它不会打印 JSON 以外的任何内容(空格可以,就是这样)。

1.confirm /get-data.html 是您文件位置的正确关系 url。

  1. 如果您直接导航到 /get-data.html,它是否会产生您想要的结果。

  2. 尝试 运行 没有 , 'json' 的相同代码,看看它是否有效。

希望这对您有所帮助