如何查找响应是否包含元素表单
$.ajax({
url : $(this).attr('action'),
type : 'POST',
success : function(response){
if($(response).find('form').length)
{
alert("hii");
}
}
});
表单可能是响应中最重要的元素,也可能是中间的某个元素
答案 0 :(得分:2)
$.ajax({
url : $(this).attr('action'),
type : 'POST',
dataType: 'html', // you should set it
// if you response send html only
success : function(response){
if($(response).filter('form').length)
{
alert("hii");
}
}
});
根据更新:
....
dataType: 'html',
success : function(response){
var container = $('<div/>').append(response);
if($(container).find('form').length)
{
alert("hii");
}
}
答案 1 :(得分:0)
$.ajax({
url : $(this).attr('action'),
type : 'POST',
success : function(response){
var hasForm = $("<div></div>").append(response).find("form").length > 0;
if(hasForm)
{
alert("hi");
}
}
});
答案 2 :(得分:0)
dataType:'html'强制jQuery将响应视为简单的html。我正在使用“has”函数,它将匹配的元素集减少到仅包含其中某个表单的元素。
$.ajax({
url : $(this).attr('action'),
type : 'POST',
dataType : 'HTML',
success : function(response){
$(response).has('form').doMoreWorkHere();
}
});
或者,您可以通过
编写更短的内容$.post($(this).attr('action'), {}
function(response){
$(response).has('form').doMoreWorkHere();
}, 'html');
答案 3 :(得分:-1)
'回应'来自哪里?它的格式是什么?
我在json发送我的退回的变量:
success: function(msg){
var obj = jQuery.parseJSON( msg );
alert( obj.VARNAMEHERE );
}
或者您可以检查整个响应而不是特定变量。这样可以让您了解如何遍历结果以找到您要查找的内容。