jQuery echo是PHP页面的所有HTML

时间:2013-10-30 17:28:55

标签: jquery

在我的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);
        }
    });

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

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

请帮忙。

2 个答案:

答案 0 :(得分: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);
        }

    }
});

答案 1 :(得分:0)

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

是的,不要显示它。

尝试替换此行:

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

对于那条线:

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

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