我使用AJAX发送请求以从这样的页面中检索Html:
function getHTML() {
//set ajax call
var options = {
url: '/Controller',
type: 'GET',
dataType: 'html'
}
//make call
return $.ajax(options).then(querySucceded).fail(queryFailed);
//handle theajax callback
function querySucceded(data) {
console.log(data);
//THE NEXT LINE IS THE PROBLEME
var val = data.getElementByName("somename").val();
}
function queryFailed(jqXHR, textStatus) {
//var msg = 'Error getting data. ' + textStatus;
console.log('Error while getting data');
}
}
所以ajax调用工作得很好,调用querySucceded
函数,并正确检索数据。
但数据被视为字符串。 如何使用jquery操作数据对象中的DOM,如:
$("somename").val();
答案 0 :(得分:0)
getElementByName在文档对象
上可用它也应该是getElementsByName
。而不是响应HTML。
答案 1 :(得分:0)
实际上,您可以使用一些jQuery魔法从长html字符串中获取DOM结构:
$("<div/>").html(data).contents();
我不确定,但我认为$(data)会直接返回一个节点数组。
答案 2 :(得分:0)
试试这个:
var $data = $(data),
var value = $data.filter("your selector here").val()
console.log(value)