[英]I am trying to set action with variable of the form using jquery. It is correctly setting the action, but on the action page there is nothing
[英]Am I using jquery getJSON correctly? Nothing appears on the page in godaddy
我有一个json文件和一个使用jquery 1.10 getJSON的索引文件,我正在尝试从json文件中获取数据进行显示。 我已经可以在本地主机上使用它,但是当我将索引文件移至mbsk8.zerogravity-web.com子域,并将JSON文件移至基本域www.zerogravity-web.com时 ,页面的该部分应该更新为空白。 这使我相信这是一个跨域请求问题。
也不向console.log添加任何值。
这是我尝试处理跨域请求的内容:
我的godaddy帐户上的文件夹结构为:
json文件: /LloydIce/json/skschedule.json
索引文件: /LloydIce/m/index.html(m)是使用jquery mobile的mobile的子域
index.html的代码
jQuery资源的标题部分
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css" />
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js"></script>
标头中的脚本部分
$(document).on('pagebeforeshow','#OpenSkate',function() {
$('#publicHolder').empty();
$.getJSON('http://www.zerogravity-web.com/LloydIce/json/skschedule.json?callback=?',function(data)
{
$.each(data, function(index, data){
var collapsible = $('<div data-role="collapsible"></div>');
console.log(this.day);
collapsible.append('<h2>' + this.day + '</h2>');
$.each(data.activities, function(index, data){
if(this.type === "Public"){
console.log(this.notes + ", " + this.activity);
collapsible.append('<p><strong>' + this.activity + '</strong></p>');
$.each(data.times, function(index, data){
collapsible.append('<p><strong>Start:</strong> ' + this.start + ', <strong>End:</strong> ' + this.end + '</p></div>');
});
}
});
var collapsibleSet = $("#publicHolder");
collapsibleSet.append(collapsible);
collapsibleSet.trigger('create');
});
});
});
JSON文件的代码:
jsonResults(
[
{
"day": "Monday",
"activities": [
{
"type": "Class",
"notes": "Ages 3-5",
"activity": "Snowbunnies 1 ",
"times": [
{"start":"6:00 PM","end":"6:45 PM"}
]
},
{
"type": "Public",
"notes": "N/A",
"activity": "Open Skate ",
"times": [
{"start":"11:30 AM","end":"5:00 PM"},
{"start":"7:30 PM","end":"9:30 PM"}
]
}
]
}
]
);
chrome开发工具网络-标题标签
Request URL:http://www.zerogravity-web.com/LloydIce/json/skschedule.json?callback=jQuery110206146174017339945_1388711470249&_=1388711470252
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Cookie:__utma=183972909.883508564.1382898602.1388360907.1388663932.3; __utmz=183972909.1382898602.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
Host:www.zerogravity-web.com
Referer:http://mbsk8.zerogravity-web.com/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
Query String Parametersview sourceview URL encoded
callback:jQuery110206146174017339945_1388711470249
_:1388711470252
Response Headersview source
Accept-Ranges:bytes
Access-Control-Allow-Origin:http://mbsk8.zerogravity-web.com
Access-Control-Allow-Origin:http://mbsk8.zerogravity-web.com
Connection:Keep-Alive
Content-Length:563
Content-Type:application/json
Date:Fri, 03 Jan 2014 01:48:53 GMT
ETag:"233-4ef071c1e30e4"
Keep-Alive:timeout=5, max=100
Last-Modified:Fri, 03 Jan 2014 01:48:42 GMT
Server:Apache
Chrome开发者工具网络-预览和响应标签:
jsonResults(
[
{
"day": "Monday",
"activities": [
{
"type": "Class",
"notes": "Ages 3-5",
"activity": "Snowbunnies 1 ",
"times": [
{"start":"6:00 PM","end":"6:45 PM"}
]
},
{
"type": "Public",
"notes": "N/A",
"activity": "Open Skate ",
"times": [
{"start":"11:30 AM","end":"5:00 PM"},
{"start":"7:30 PM","end":"9:30 PM"}
]
}
]
}
]
);
Chrome开发者工具控制台
Uncaught ReferenceError: jsonResults is not defined skschedule.json?callback=jQuery110206146174017339945_1388711470249&_=1388711470252:1
(anonymous function)
如果我从JSON文件中删除jsonResults,则“网络预览”选项卡中的信息如下所示
[{day:Monday,...}]
0: {day:Monday,…}
activities: [{type:Class, notes:Ages 3-5, activity:Snowbunnies 1 , times:[{start:6:00 PM, end:6:45 PM}]},…]
0: {type:Class, notes:Ages 3-5, activity:Snowbunnies 1 , times:[{start:6:00 PM, end:6:45 PM}]}
activity: "Snowbunnies 1 "
notes: "Ages 3-5"
times: [{start:6:00 PM, end:6:45 PM}]
0: {start:6:00 PM, end:6:45 PM}
end: "6:45 PM"
start: "6:00 PM"
type: "Class"
1: {type:Public, notes:N/A, activity:Open Skate ,…}
activity: "Open Skate "
notes: "N/A"
times: [{start:11:30 AM, end:5:00 PM}, {start:7:30 PM, end:9:30 PM}]
0: {start:11:30 AM, end:5:00 PM}
end: "5:00 PM"
start: "11:30 AM"
1: {start:7:30 PM, end:9:30 PM}
end: "9:30 PM"
start: "7:30 PM"
type: "Public"
day: "Monday"
毕竟,我仍然没有结果显示在页面上。
由于您添加jsonResults来包装json数据,因此这将成为jsonp请求,而不再是ajax请求。 请谷歌“ ajax和jsonp之间的区别”。
jQuery.ajax({
url : your url,
dataType : 'jsonp',
jsonpCallback : 'jsonResults',
......
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.