2012-03-16 67 views
0

我正在使用jQuery进行ajax调用。 我知道ajax的成功\失败的功能,但我怎么能确定发生了什么?如何知道被调用的文件是否返回错误?

这意味着如果我调用一个example.php文件,如果文件存在,它将返回成功,对不对? 现在我怎么知道文件是否做了它所支持的功能呢?

回答

1

你应该从处理ajax请求的服务器页面返回一个apt响应。我很想拥有一个回复代码/状态,说明操作的状态。

$.post("someurl.php",function(data){ 
    if(data=="success") 
    { 
     alert("Successfully Updated"); 
    } 
    else 
    { 
    alert("Some error in processing!"); 
    } 
} 

,并从你的PHP返回“成功”如果你的操作是成功的,并返回“错误”如果不是成功的。

编辑:这里是你如何使用jQuery阿贾克斯 jQuery的岗位做到这一点是jQuery的AJAX方法与岗位类型

$.ajax({ 
    url: "youruel.php?querystring1=12&id=34", 
    success: function(data){ 
    if(data=="success") 
     { 
      alert("Successfully Updated"); 
     } 
     else 
     { 
     alert("Some error in processing!"); 
     } 
    } 
}); 

一个简短您也可以添加错误事件来处理这些呢。

+0

这听起来是正确的。但是我使用$ .ajax而不是$ .post,这与获取数据的方式是一样的吗? – 2012-03-16 15:55:11

+1

@ eric.itzhak:我更新了我的答案。 – Shyju 2012-03-16 16:00:04

+0

非常感谢!有一个美好的周末! – 2012-03-16 16:02:17

0

我会尝试设置错误在你的PHP文件处理,返回这里所描述的错误信息:

jQuery Ajax error handling, show custom exception messages

然后,你可以看看XHR消息看错误是在jQuery的东西。

+0

我不需要调试它,我只需要知道如果行动成功,以进步...... – 2012-03-16 15:51:15

0

我可以告诉你,理论上我是怎么做的用C#处理程序(你可以很容易地转换)

第一jquery的成功回调:

success: function (jsonResult, textSuccess) { 
     if (jsonResult.Errored) { 
      // ouch failed 
      $("#helpErrorDiv").show(); 
     } 
     else { 
      // do something on success 
     } 
     } 

和服务器端的代码,总是返回JSON:

context.Response.ContentType = "application/json"; 

try { 
    // do something and return successfully a json object 
} 
catch (Exception ex) 
{ 
    context.Response.Write((new {Errored = true}).ToJson()); 
} 
相关问题