我无法弄清楚为什么以下代码不起作用。目前,php函数“alias_valid”只返回一个字符串用于测试目的,所以我没有在这里包含php函数。警报为空。
$.post(SITE_ROOT + "includes/AbstractEvent.php",{
action:"alias_valid",
alias : alias},
function(v){
alert(v);
});
答案 0 :(得分:1)
如果使用jQuery.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"); });
答案 1 :(得分:0)
$.post
中没有action
个参数。尝试将其连接到url的末尾。
$.post(SITE_ROOT + "includes/AbstractEvent.php/alias_valid/",{
alias : alias},
function(v){
alert(v);
});
但是我怀疑除非你使用的是MVC框架,否则它会起作用。或者某种请求路由调用类中的特定函数。
答案 2 :(得分:0)
我最好的猜测是你的一个变量是未定义的。确认您的代码中确实已定义SITE_ROOT
和alias
。同时检查SITE_ROOT
是否以/
结尾。
测试所有启动控制台的最佳方法(按 F12 )并查看您获得的错误。如果没有,您可能会从服务器获得空响应。
根据您的示例,这是一个working jsfiddle(再次按 F12 来访问控制台中的输出)。