1

所以我的javascript文件中有这个函数:

function UpdateThisCourseHistory(){
    var ajax= new Ajax.Request("runNeededQueries.php",
            {
                method: "POST",
                parameters: {database: "history", action:"update"},
                onSuccess: function(){alert("This Course History Entry Has Been Updated");},
                onFailure: function(){alert("Could Not Find The Entry With The Specified Primary Key");}        
            }
    );
}

假设这是我的 php 文件

<?php
header('HTTP/1.0 400 Bad Request');
 ?>

这会使 onFailure 方法执行吗?

4

2 回答 2

3

当 PHP 脚本响应 HTTP 2xx 响应代码时,onSuccess 回调将触发,如果返回 HTTP 错误代码,onFailure 回调将触发。如果您想根据响应值采取行动,您必须选择:

  • 修改您的 PHP 脚本以在失败时返回 HTTP 错误响应(可能是 400),并根据返回的特定值采取措施。
    • header('HTTP/1.0 400 Bad Request');
  • 更新您的 AJAX 处理程序以检查返回的数据并根据其内容采取行动。
    • onSuccess: function(transport){ if transport.responseText == 'expected value' ...}
于 2013-05-09T14:08:32.023 回答
1

让你的 PHP 脚本输出一些东西,最好是 JSON。

喜欢:

{ action: 'find_id', status: true }

从响应中获取数据,以便您查看操作是否成功。

function(data){
  if (data.status){
    alert("Everything is OK") ;
  } else {
    alert("Failed") ;
  }
}
于 2013-05-09T14:10:43.823 回答