Javascript 使用Ajax读取html(响应)中的值

Javascript 使用Ajax读取html(响应)中的值,javascript,Javascript,我在发布api调用时得到了这个html作为响应,所以我想知道如何使用jquery或一些简单的javascript代码读取客户机id和会话令牌 function getNewsFeed(d) { var c = { page_num: b, num_events: d, return_as_html: true, source: "web" }; TAGGED.api.call(c, check) } 现在我

我在发布api调用时得到了这个html作为响应,所以我想知道如何使用jquery或一些简单的javascript代码读取客户机id会话令牌

function getNewsFeed(d) {
    var c = {
        page_num: b,
        num_events: d,
        return_as_html: true,
        source: "web"
    };
    TAGGED.api.call(c, check)
}
现在我想检查一下:

function check() {
    // checking here
}
[“{\“stats\”:“ok\”,“dia\”:“44\”,“result\”:{“success\”:true,\“session\u token\”:“969ndg1ai0c43034\”,“next\u event\u id\”:0,\“client\u id\”:1314852}]

我没有JSON,所以无法用JSON.parse阅读 我尝试使用,但在firebug中它没有显示JSON

当我用firebug检查它时,我在响应和html中得到了相同的代码


谢谢。

如果您可以确定值中不会有某些特殊字符,您可以先用逗号拆分,然后用冒号拆分,然后去掉不匹配的字符

str = '["{\"stats\":\"ok\",\"dia\":\"44\",\"result\":{\"success\":true,\"session_token\":\"969ndg1ai0c43034\",\"next_event_id\":0,\"client_id\":1314852}}"]'

// replace all characters that are not letters, numbers, underscore, colon or comma
str = str.replace(/[^a-zA-Z0-9_:,]/g,'')

// get array of key value pairs
all = str.split(',')

// create empty opts object to store final data
opt = {}

// loop through array of key value pairs
for(i in all){

    // split into key value array
    bits = all[i].split(/:/)

    // assign to opt object
    opt[bits[0]] = bits[1]

}

// access values vie keys of opt
alert(opt.client_id+": "+opt.session_token)

请发布您用来拨打电话的代码,以便我们能更好地回答。您没有中的JSON,您使用的是IE6还是什么<解析是任何现代浏览器实现的一部分。如果
[]
是响应的一部分,则将数组的第一项传递给
JSON.parse
。为什么不能使用JSON.parse?如果您接受jQuery,只需使用,但如果本机JSON解析器不起作用,您的问题可能在别处。响应不是HTML,正如您自己所说,它看起来像JSON。即使浏览器不支持本机
JSON
接口,也可以始终包括。请注意,响应是一个带有字符串的数组,其中字符串本身也包含JSON。因此,您必须对响应进行两次解析,一次解析数组,然后解析数组中的字符串。我无法在代码中获取此html。我的问题是如何阅读它们。。首先我需要得到它,然后我可以用你的codes@deerox:响应可能作为参数传递给回调,即
check
。您使用的API不提供示例文档吗?也许他们已经为你解析了数据,而你却白白问了整个问题。。。