2

我使用 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();
4

3 回答 3

0

尝试这个:

var $data = $(data),
var value = $data.filter("your selector here").val()

console.log(value)
于 2013-06-04T06:53:28.450 回答
0

实际上,您可以使用一些 jQuery 魔术从长 html 字符串中获取 DOM 结构:

$("<div/>").html(data).contents();

我不确定,但我认为 $(data) 直接会返回一个节点数组。

于 2013-06-04T06:18:43.313 回答
0

getElementByName 在文档对象上可用

它也应该是getElementsByName。而不是响应 HTML。

于 2013-06-04T06:16:47.880 回答