使用AJAX和Jquery的PHP行为真的很奇怪

时间:2010-12-15 13:54:23

标签: php jquery ajax

嗯,我的问题有点奇怪,

我有一个AJAX请求只能得到一个数字。

该号码印在: getMoney.php 。 在 index.php 上,我有AJAX请求。

Ajax代码:

function getMoney(selected)
        {
            if(selected.value != -1)
            {
                // Obtener presupuesto via AJAX
                $(document).ready(function(){
                    $.ajax({
                            url: "getMoney.php",
                            async: true,
                            success: function(datos){
                                //My action
                            }
                    });
                });
            }
        }

当我在Combobox HTML上更改值时调用该函数

<select name="area_id" onchange="getMoney(this);">

嗯......我的问题: 如果我写下getMoney.php(mannualy)上的数字,它的工作完美,AJAX就可以得到它并完成动作,但是当我从我的数据库中得到数字时我才得到0.我也打开了mannualy getMoney.php,数字在那里!即使我从数据库中获取它。

怎么了?

3 个答案:

答案 0 :(得分:2)

确保getMoney.php不使用标准视图标题,即脚本包含,样式表包含或其他任何内容。此外,更好的做法是让getMoney.php返回一个JSON字符串,并将数据进行参数化,这样您就可以撤回诊断和错误代码以及特定数据。这将有助于调试。如果您需要帮助,请查看$.getJSON()

答案 1 :(得分:0)

XHR对象将通过url缓存所有请求,您只需附加一个随机字符串即可解决此问题,如下所示:

$.ajax({
    url: "getMoney.php?r=" + new Date().getTime(),
    async: true,
    success: function(datos){
        //Your action
    }
});

答案 2 :(得分:0)

在firefox中安装firebug插件https://addons.mozilla.org/en-US/firefox/addon/1843/

安装插件后,状态栏的右侧会出现错误符号。

点击它。然后更改选择框。在firebug控制台中会有一条线。

在那里,您可以看到发送到服务器的所有数据以及来自服务器的响应。这有助于您确定问题。