如何在使用PHP和jQuery成功发布表单时显示警报?

如何在使用PHP和jQuery成功发布表单时显示警报?,php,jquery,Php,Jquery,jQuery模式执行得很好,但我不知道当php成功执行表单时,如果我想显示一条警告消息,我缺少了什么 $.post( 'name.php', { ime: ime, location: location }, function(data){ if (data.success) { alert("form posted!"); } else {

jQuery模式执行得很好,但我不知道当php成功执行表单时,如果我想显示一条警告消息,我缺少了什么

$.post(
    'name.php', 
    { ime: ime, location: location }, 
    function(data){                     
        if (data.success) {
            alert("form posted!");
        }
        else {
            $("#dialog-form").dialog("open");
        } 
    },
    "json"
);
===========================================PHP============

if ($result == false) {
    echo json_encode(array('success' => false, 'result' => 0));
    exit;
}

echo json_encode(array('success' => true, 'result' => $result));
$sql2 = "DELETE FROM $names WHERE name='$ime'";
$result2 = mysql_query($sql2);   

success有3个参数
success(data、textStatus、jqXHR)

我相信您可能需要
textStatus

.success:
请求成功时要调用的函数。该函数得到 传递了三个参数:从服务器返回的数据,已格式化 根据数据类型参数描述状态的字符串; 和jqXHR(在jquery1.4.x中,XMLHttpRequest)对象


看起来好像
data.success
的值没有返回为true或false(或者像您期望的那样作为布尔值求值)

尝试:

))

您还可以使用
FIDDLER
查看从服务器返回的值


检查控制台中的响应,确保数据按预期返回。我已在下面的控制台中发布了结果。感谢您的回复。根据您的更改了代码。如果控制台中的数据库中不存在记录,我得到:结果:0,成功:false。如果它确实存在于控制台中,我会得到以下信息:{“success”:true,“result”:[“67”,“John”,“London”]}仍然不会发出警报,只是执行查询。
$.post(
    'name.php', 
    { ime: ime, location: location }, 
    function(data, textStatus, jqXHR){                     
        if (textStatus == "success") {
            alert("form posted!");
        }
        else {
            $("#dialog-form").dialog("open");
        } 
    },
    "json"
);
$.post(
 'name.php', 
 { ime: ime, location: location }, 
function(data){                     
    if (data.success == 'true') {
        alert("form posted!");
    }
    else {
        $("#dialog-form").dialog("open");
    } 
},
"json"