在我的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?我尝试将dataType
从html
更改为json
,但它根本不会提醒错误/成功回显。
请帮忙。
答案 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。