Ajax请求自助页面不起作用

时间:2011-02-09 14:29:18

标签: php javascript jquery ajax

我有一个php页面,其中包含以下javascript代码:

$("#saveButton").click(function() {
                HLalert('Saving...');
                $.getJSON("<?php echo $PHP_SELF; ?>", {
                    ajax: 1,
                    classes: $("#alllessons").serialize()
                }, function(output) {
                    if (output.status == false) { HLalert(output.message); }
                    else { HLalert('Saved!.'); }
                });
            });

无论如何它都不起作用。它之前和之后的javascript,但这些似乎没有。甚至没有返回失败的状态。

HLalert()是一个显示类似提醒消息的推文的功能。

在php页面的顶部,我有代码

<?php
    if ($_GET['ajax'] == 1) {
        // parse the ajax values
        // output json and die
    }
    // regular page code

我尝试更改getJSON调用中传递的值的名称,但没有做任何事情。我已经尝试将getJSON调用的页面放入另一个文件中,并且也没有做任何事情。

我的getJSON代码是否存在一些我根本看不到的根本错误?您是否可以对自己的页面进行$ .ajax调用?

由于

3 个答案:

答案 0 :(得分:1)

你是说$_SERVER['PHP_SELF']吗?我不确定是否有$PHP_SELF

答案 1 :(得分:1)

$PHP_SELF除非您已定义,否则不存在。

你或许是$_SERVER['PHP_SELF']

编辑: .serialize()会返回一个没有引号的字符串,我认为您的键值对的值确实需要引用,所以它可能应该是这样的:

第一次提醒后

var values = '"' + $("#alllessons").serialize() + '"';

以后:

ajax: 1,
classes: values

答案 2 :(得分:1)

你是说document.location吗? ;-) 这里不需要PHP。