Javascript 如何检查AJAX响应在jQuery中是否包含HTML内容?

Javascript 如何检查AJAX响应在jQuery中是否包含HTML内容?,javascript,jquery,ajax,response,Javascript,Jquery,Ajax,Response,我有一个页面,其中有一个表单和两个在成功调用AJAX时可能的响应,其中一个只返回状态代码 我需要做的是检查success回调中的response对象中的任何HTML内容,以便在页面上显示它们 我已经知道我可以通过将其添加为参数来访问回调中的响应,如下所示: 功能成功(响应){} 我唯一搞不清楚的是如何检查该对象是否有HTML内容。如何执行此操作?您可能希望查看HTML MIME类型的响应头。将对象传递回您的success回调,然后您可以调用该回调: 您知道成功时的确切响应吗?如果知道,您可以检查

我有一个页面,其中有一个表单和两个在成功调用AJAX时可能的响应,其中一个只返回状态代码

我需要做的是检查success回调中的
response
对象中的任何HTML内容,以便在页面上显示它们

我已经知道我可以通过将其添加为参数来访问回调中的
响应
,如下所示:

功能成功(响应){}


我唯一搞不清楚的是如何检查该对象是否有HTML内容。如何执行此操作?

您可能希望查看HTML MIME类型的响应头。将对象传递回您的
success
回调,然后您可以调用该回调:


您知道成功时的确切响应吗?如果知道,您可以检查是否成功,如果不知道,则假定为html/failure。如果只返回状态代码,
if(response.indexOf)(““成功调用AJAX时,两个可能的响应,其中一个仅返回状态代码。”两个响应都返回成功状态。其中一个将具有HTML。在jQuery中,我需要检查响应是否具有HTML,以便可以显示它。@Ohgod为什么我喜欢这个建议,但这真的是检查响应是否具有HTML的最佳方法吗?我觉得这不完全是最佳做法…这根本不是最佳做法…而是您发送的方式如果成功,我会发回
echo json_encode(数组('success'=>true,'html'=>'')
,否则,
echo json_encode(数组('success'=>false))
不成功时,检查是否
resonse.success!==false
我很确定这正是我所需要的。谢谢。我编辑了我的答案,用
indexOf()检查是否存在
text/html
因为该标题的值可能包含其他信息:例如,
text/html;charset=utf-8
我目前无法测试它,但今天晚些时候事情解决后,我将重新讨论这个问题。谢谢你的建议!
function success( response, status, jqXHR ) {
    if( jqXHR.getResponseHeader('content-type').indexOf('text/html') >= 0 ) {
        ...
    }
}