0

I can't figure out why the following code doesn't work. For the time being, the php function "alias_valid" just returns a string for testing purposes, so I haven't included the php function here. The alert is empty.

$.post(SITE_ROOT + "includes/AbstractEvent.php",{
    action:"alias_valid", 
    alias : alias},
    function(v){
        alert(v);
    });
4

3 回答 3

1

如果带有 jQ​​uery.post() 的请求返回错误代码,它将静默失败

尝试.error()检查是否发生任何错误

句法:

// Assign handlers immediately after making the request,
// and remember the jqxhr object for this request
var jqxhr = $.post("example.php", function() {
  alert("success");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });

有关 $.post 的更多信息

于 2012-04-05T16:37:14.717 回答
0

中没有action论据$.post。尝试将其连接到 url 的末尾。

$.post(SITE_ROOT + "includes/AbstractEvent.php/alias_valid/",{ 
    alias : alias},
    function(v){
        alert(v);
    });

但我怀疑这会起作用,除非你使用的是 MVC 框架。或者某种调用类中特定函数的请求路由。

于 2012-04-05T16:40:14.840 回答
0

我最好的猜测是您的变量之一是未定义的。验证SITE_ROOTalias确实在您的代码中定义。还要检查是否SITE_ROOT/.

测试所有这些的最好方法是启动你的控制台(按F12),看看你得到了什么错误。如果没有,您可能会收到来自服务器的空响应。

这是一个基于您的示例的工作 jsfiddleF12 (再次按下以访问控制台中的输出)。

于 2012-04-05T16:40:31.043 回答