Javascript Chrome扩展:远程api和解析接收到的JSON数据
我正在做一个chrome扩展,它调用远程API,我需要读取JSON数据,但它无法解析数据? Jquery应该包含在manifest属性的“background:”中? 如果是,如何进行? “” manifest.jsonJavascript Chrome扩展:远程api和解析接收到的JSON数据,javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,我正在做一个chrome扩展,它调用远程API,我需要读取JSON数据,但它无法解析数据? Jquery应该包含在manifest属性的“background:”中? 如果是,如何进行? “” manifest.json { "manifest_version": 8, "name": "Getting started example", "description": "This extension shows a Google Image search result for th
{
"manifest_version": 8,
"name": "Getting started example",
"description": "This extension shows a Google Image search result for the current page",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_title": "p",
"default_popup": "popup.html"
},
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": [ "myscript.js"]
}
],
"icons": {
"64":"icon.png"
},
"permissions": [
"http://domain.com/*"
]
}
background.js
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://domain.com/api/path", false);
xhr.send();
var result = xhr.responseText;
//var result = eval('(' + xhr.responseText + ')');
alert(result);//work print json data
alert(result.results[1].url);// does not work
接收到的json数据
{"results":[
{"name":"Academic","url":"http:\/\/www.rapidintellect.com\/AEQweb\/"},{"name":"Academy","url":"http:\/\/aocrj.org\/"}
]} {"results":[
{"name2":"Academic","url":"http:\/\/www.rapidintellect.com\/AEQweb\/"},{"name2":"Academy","url":"http:\/\/aocrj.org\/"}
]}
您可以使用
JSON将JSON解析为JavaScript中的对象
var result = JSON.parse(xhr.responseText);
alert(result.results[0].url);
但我不确定您最初的Ajax请求是否有效
考虑到您将此问题标记为,我们可以简化Ajax请求,并自动解析JSON:
$.ajax({
type: 'GET',
url: 'http://example.com/...',
dataType: 'json',
}).success(function(result){
alert(result.results[1].url)
});
或者,由于这是一个简单的GET请求,您可以使用更为简捷的方式:
$.getJSON('http://example.com/...', function(result){
alert(result.results[1].url)
});
您没有使用jQuery?第二个警报的输出是什么?
?我没有使用任何jQuery当我删除第一个警报并保留第二个警报时“无警报显示”@Seham:尝试jQuery示例。如何在清单中添加jQuery“”?将其下载(右键单击并保存)到扩展的文件夹中。然后将清单更改为包含它,如“scripts”:[“jquery.min.js”,“background.js”]
我从……下载文件,然后将其保存在扩展文件夹中为“jquery.min.js”。。。。。但还是不行。。。非常感谢您抽出时间:)