我正试图从Apple的iTunes JSON服务中获取一些JSON.请求很简单:http: //ax.phobos.apple.com.edgesuite.net/WebObjects/MZStoreServices.woa/wa/wsSearch?term = jac&limit = 25
如果您在浏览器中访问该URL,您将看到一些格式正确(由jsonlint.com支持)JSON.但是,当我使用以下jQuery发出请求时,请求什么也找不到:
$("#soundtrack").keypress(function(){
$.getJSON("http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStoreServices.woa/wa/wsSearch",{'term':$(this).val(), 'limit':'25'}, function(j){
var options = '';
for (var i = 0; i < j.results.length; i++) {
options += '<option value="' + j.results[i].trackId + '">' + j.results[i].artistName + ' - ' + j.results[i].trackName + '</option>';
}
$("#track_id").html(options);
});
});
Run Code Online (Sandbox Code Playgroud)
Firebug查看请求,但只收到空响应.
任何帮助都会在这里受到赞赏,因为我正试图解决它的问题.您可以在此处查看脚本:http: //rnmtest.co.uk/gd/drives_admin/add_drive(音轨输入框位于页面底部).
谢谢
我创建了一个小示例HTML页面,以使JQuery的getJSON方法正常工作.它看起来像下面(对不起,这只是一个概念证明,然后加入一个更大的项目):
<script type="text/javascript">
function test() {
$.getJSON("http://api.flickr.com/services/rest/?&method=flickr.people.getPublicPhotos&api_key=e999b3a5d47d013b780e8ac255c86266&user_id=24579658@N03&format=json&jsoncallback=?",
function(data){
$.each(data.photos.photo, function(i,photo){
$("<img/>").attr("src", "http://farm5.static.flickr.com/" + photo.server + "/" + photo.id + "_" + photo.secret + ".jpg").appendTo("#images2");
//alert();
if ( i == 6 ) return false;
});
});
Run Code Online (Sandbox Code Playgroud)
}
然后我会在点击某些内容时调用该方法
<script type="text/javascript">
$(function() {
$("#yo").click(test);
});
</script>
Run Code Online (Sandbox Code Playgroud)
这在一个项目中运行良好,其中包含的唯一JS是JQuery,这些是唯一的功能.但是,一旦我将它添加到我的其他项目中,它就会出错.另一个项目包括一些mootools库,我认为可能已经这样做了.然而,即使在完全删除了mootools之后,只使用了这个jquery的东西,我仍然会得到以下错误:
ReferenceError:$未定义
我确实包含了其他javaScripts,例如谷歌和其他一些我已经制作的,但他们不使用JQuery或Mootools.谁能解释为什么我会收到这个错误?
在此示例中,您可以看到生成的HTML列表.每次刷新时,脚本都会请求数据文件(ajax/test.json)并再次构建列表.
生成的文件"ajax/test.json"是静态缓存的.但是如何在每次刷新时避免请求此文件?
// source: jquery.com
$.getJSON('ajax/test.json', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.
}).appendTo('body');
});
Run Code Online (Sandbox Code Playgroud)
这不起作用:
list_data = $.cookie("list_data");
if (list_data == undefined || list_data == "") {
$.getJSON('ajax/test.json', function(data) {
list_data = data;
});
}
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': …Run Code Online (Sandbox Code Playgroud) 我需要从一个站点获取一些JSON并解析它.问题是对象被命名为"-1""-2",依此类推.
当我尝试解析它时,Firebug回来了,"TypeError:obj is undefined length = obj.length"
Chrome返回时收到类似消息,"Uncaught TypeError:无法读取未定义的属性'长度'"
作为参考,这是一个JSON的snipet:
{
"-1": {
"number": 47,
"properties": [
[
Run Code Online (Sandbox Code Playgroud)
这是我正在尝试使用的代码.
$.getJSON("http://www.website.com/builds?select=-1&select=-10",function(data){
$.each(data.-1, function(info,value){
Run Code Online (Sandbox Code Playgroud)
如果我下载JSON,将其保存在本地并将"-1"重命名为"one",将"-2"重命名为"2",那么它可以正常工作.EG JSON成为:
{
"one": {
"number": 47,
"properties": [
[
Run Code Online (Sandbox Code Playgroud)
我的代码变成了
$.getJSON("C:\json.json",function(data){
$.each(data.one, function(info,value){
Run Code Online (Sandbox Code Playgroud)
这很好,但它增加了另一个复杂的步骤.
有没有办法解析原始的JSON(因为它是从服务器自动生成的,经常更改),或者我是不是试图弄清楚如何在本地保存它并在解析之前更改对象名称?
我将通过jquery ajax调用发送一个json对象数组到一个php文件.
var arr = new Array();
var record1 = {'a':'1','b':'2','c':'3'};
var record2 = {'d':'4','e':'5','f':'6'};
arr.push(record1);
arr.push(record2);
Run Code Online (Sandbox Code Playgroud)
如何通过jquery ajax发送数组?我怎样才能在php中获取值?谢谢.
试图找出这个,我想我知道问题,但我不知道如何解决它.当我的页面首次加载时,我正在使用JSON文件在页面上提供一些链接,使用$ .getJSON创建它们并动态地为它们提供ID.我的代码是(这只是我现在感兴趣的一点,我当然关闭了这个函数):
$(function() {
$.getJSON("data.json", function(data) {
var navOutput = "";
for (var key in data.navigation) {
navOutput += '<li><a id="' + key + '">' + data.navigation[key] + '</a></li>'; // Create list items with ID 'key'
}
$("#mainNav").html(navOutput);
Run Code Online (Sandbox Code Playgroud)
页面上的所有内容都很好.在$ .getJSON函数之外,我试图将事件侦听器分配给其中一个动态创建的ID,作为示例:
$("#cast").click(function() {
alert("Testing");
}); //click function
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用.可能有一个简单的答案,但我无法弄清楚.如果我将事件处理程序分配给在HTML中创建的页面上的ID,它就可以工作,因此它与这些动态ID有关.任何帮助,将不胜感激.
因此,我编写了一些代码来根据查询搜索reddits api,并且希望它也显示注释。我的$.getJSON语句中嵌套了以下代码,该语句根据您的搜索查询提取每个标题/帖子,现在我想为找到的每个结果显示注释树(因此,为什么将其嵌套在我的原始getJSON语句中)
$.getJSON("http://www.reddit.com/r/" + sub + "/comments/" + id + ".json?", function (data){
$.each(data.data.children, function (i, item) {
var comment = item.data.body
var author = item.data.author
var postcomment = '<p>[Author]' + author + '<br>' + comment + '</p>'
results.append(postcomment)
});
});
Run Code Online (Sandbox Code Playgroud)
我觉得我可能在构造$.each错误的陈述或其他内容。我只是遵循我对其他getJSON语句所做的操作。有任何想法吗?
我正在尝试创建一个Web应用程序来监视系统活动,我正在使用Flask作为我的CMS.更具体地说,我试图让系统信息定期更新而不刷新页面.现在我正在通过检索百分比的本地信息来测试Web应用程序.
我创建了一个名为"/ refresh"的路由,并以JSON格式添加了本地信息:
@app.route('/refresh')
def refreshData():
systemInfo = {'cpuload': si.getCPU(), 'memload': si.getMEM(), 'diskload': si.getDiskSpace()}
return jsonify(systemInfo)
Run Code Online (Sandbox Code Playgroud)
数据如下所示:
{
"cpuload": 4.3,
"diskload": 0.7,
"memload": 27.8
}
Run Code Online (Sandbox Code Playgroud)
截至目前,我正在使用Flask的变量来显示模板中的信息,但我想在HTML中的脚本中访问JSON数据并将其设置为HTML元素并且每隔一段时间就进行一次更新.我尝试过使用淘汰赛,但我也无法使用淘汰赛.我的模板看起来像这样:
<ul id='sysInfo'>
<li>Hostname: {{ sysInfo[0] }}</li>
<li>CPU Core Count: {{ sysInfo[1] }}</li>
<script type='text/javascript' src="http://code.jquery.com/jquery.min.js"></script>
<script type='text/javascript' src="http://knockoutjs.com/downloads/knockout-3.1.0.js">
function update() {
$.getJSON('/refresh', function(data) {
$('#cpu').html(data[cpuload]);
window.setTimeout(update, 5000);
});
}
</script>
<li>
<div id="progress">
<span id="percent">CPU usage: <div id="cpu"></div>%</span>
<div style ='height: 20px; background-color: green; width: {{ cpuLoad }}%;'></div>
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
我知道HTML中的脚本并没有多大意义,但基本上我只是想使用getJSON(或其他最好的)来获取数据,并将这些数据放入我的HTML中.
我有一个jstree.在页面加载时,jstree从服务器中填充,因为它对服务器进行了新的调用,但之后每当我刷新页面时,它总是从缓存中获取数据而不是调用服务器,因此总是采用旧的要填充的数据.我使用的是jstree 3.0.2版本.以下是在页面加载时生成jstree的代码.
$('#tree').jstree({
'core': {
data:{
'url':'getjstree' // this is the url which will get the json data from the server
}
}});
Run Code Online (Sandbox Code Playgroud)
我们如何解决这个问题以获得每次调用的新数据,我之前想到的一个解决方案是通过调用硬刷新的javascript代码
location.reload(true);
Run Code Online (Sandbox Code Playgroud)
但这确实刷新了json数据,但进入了递归调用,从而挂起了页面.请帮助我们如何解决这个问题.
我正在尝试在Codepen中构建一个简单的随机引用生成器,如下所示:http://codepen.io/scabbyjoe/pen/dXQmLw
粘贴的相关代码如下:
<html>
<head>
</head>
<body>
<h1>Random Quote Machine</h1>
<div class="quote">
</div>
<div class="btn">New Quote</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function() {
$(".btn").on("click", function(){
$.getJSON("http://api.forismatic.com/api/1.0/?method=getQuote&format=json&lang=en", function(json) {
$(".quote").html(JSON.stringify(json));
});
});
});
Run Code Online (Sandbox Code Playgroud)
我担心我必须误解getJSON工具,因为我无法在我的.quotediv中加载任何内容.
任何人都可以解释为什么这不起作用?
我试着从这个(单独的)例子中得到遵循,这个例子确实有效:
<script>
$(document).ready(function() {
$("#getMessage").on("click", function(){
$.getJSON("/json/cats.json", function(json) {
$(".message").html(JSON.stringify(json));
});
});
});
</script>
<div class="container-fluid">
<div class = "row text-center">
<h2>Cat Photo Finder</h2>
</div>
<div class = "row text-center">
<div class = "col-xs-12 well message">
The message will go here
</div>
</div>
<div class = …Run Code Online (Sandbox Code Playgroud)