Javascript 使用Ajax读取html(响应)中的值
我在发布api调用时得到了这个html作为响应,所以我想知道如何使用jquery或一些简单的javascript代码读取客户机id和会话令牌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) } 现在我
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不提供示例文档吗?也许他们已经为你解析了数据,而你却白白问了整个问题。。。