1

在我的 php 页面中,<?php标签外使用了一个 HTML,所以当我使用这个 jQuery 代码时;

    $.ajax(
    {
        type : "post",
        dataType: "html",
        url : "url.php",
        data : "to_uid="+to_uid+"&from_uid="+from_uid,
        cache: false,
        success : function(response)
        {
            alert(response);
        }
    });

它会提醒回显(错误或成功消息),但它会回显我在该 php 页面中使用的所有 HTML。

是否有任何解决方法我只能回显错误/成功警报而不是其他 HTML?我尝试将dataTypefrom更改为htmljson但它根本不会提醒错误/成功 echo-s。

请帮忙。

4

2 回答 2

2

在你的url.php设置一个数组

$return = array();
if ( SOME CONDITION ) {
   $return['html'] = "<html> ... </html>";
   $return['message'] = 'Success Message';
   $return['stat'] = 'Success';
} else {
   $return['message'] = 'Fail Message';
   $return['stat'] = 'Failed';
}
echo json_encode($return);

在你的ajax中

$.ajax(
{
    type : "post",
    dataType: "json",
    url : "url.php",
    data : "to_uid="+to_uid+"&from_uid="+from_uid,
    cache: false,
    success : function(response)
    {
        alert(response.message);
        if (response.stat == 'success') {
           do_some_thing(response.html);
        }

    }
});
于 2013-10-30T17:46:18.253 回答
0

(是否有任何解决方法我只能回显错误/成功警报而不是其他 HTML?)

是的,不要显示它。

尝试替换此行:

success : function(response)
        {
            alert(response);
        }

对于该行:

 success : function()
        {
            alert('Success text to show');
        }

如果这就是您的意思,那么您将能够自己弄清楚如何处理错误:消息。有关更多信息,请参阅jquery Ajax

于 2013-10-30T17:39:53.060 回答