2013-03-22 112 views
0

以下jQuery验证效果很好,但是在AJAX调用中出现错误,因为它返回失败。此处全部代码http://jsfiddle.net/YJwsZ/6/使用AJAX进行验证

我对AJAX也很新颖。

我想下面的返回成功:

// AJAX call 
$.ajax({ 
    url:url_site, 
    data : data, 
    // dataType: 'json', 
    type: 'post', 
    success: function(r){ 
     if (r.success) { 
      alert('success'); 
     } 
     else { 
      alert('unsuccessful'); 
     } 
    } 
}); 
+0

尝试添加textStatus你的函数(R,textStatus),然后通知其 – KyelJmD 2013-03-22 13:05:14

回答

0

这可能是不成功的,因为url_site没有设置正确。重新检查您尝试连接的文件的路径。如果您无法获得适合您的相对位置,请使用绝对路径。

+0

从给定的...'VAR url_site = location.href'的例子 - 它提交到自身。 – Archer 2013-03-22 13:09:45

+0

你为什么要使用ajax来加载你在同一页面? – blackhawk 2013-03-22 13:10:33

+0

最终此表单将成为更大页面的一部分,因此我需要通过发送成功或失败的消息来刷新它... – Alex 2013-03-22 13:21:13

1

尝试重建您的ajax调用并将成功回调添加为链接函数。你也可能想创建一个实际回答你的测试用例的小脚本。见the docs

http://jsfiddle.net/VyFng/1/

$.ajax({ 
    url: url_site, 
    data: data, 
    // dataType: 'json', 
    type: 'post', 
}).done(function(data, textStatus, jqXHR) { 
    alert(textStatus); 
}) 
.fail(function(jqXHR, textStatus, errorThrown) { 
    alert(textStatus); 
}) 
.always(function(dataOrJqXHR, textStatus, jqXHRorErrorThrown) { 
    alert('callback after ' + textStatus + ' callback has been completed'); 
}); 
+0

当我尝试本地时,即使所有字段都为空,单击提交时它会返回成功... – Alex 2013-03-22 15:21:21