我有这个测试json url
jQuery.support.cors = true;
window.Getdata = function() {
var request = $.ajax({
type: "POST",
data: "{}",
dataType: 'json',
url: "/gh/gist/response.json/4001105/",
mimeType: "application/json; cherset=utf-8",
success: krywaarde,
failure: givealert
});
function krywaarde(result) {
alert("Name = "+result.fighters[0].name);
alert("Nickname = "+result.fighters[0].nickname);
// this changes the text
document.getElementById("routing").innerHTML = result.fighters[0].name;
}
function givealert(error) {
alert('failed!!' + error);
}
}
$(document).ready(function() {
window.Getdata();
});
我编辑了我的整个问题代码
我现在遇到的问题是,它适用于JSFiddle,但不适用于我的移动应用程序。 2之间的onlu变化是,在页面加载时调用Js Fiddle上的ons,而我的真实移动应用程序在buttonclick上调用该函数!
这是jsfiddle:
我调用该函数的html是
<a type=button id="processnames" onclick="window.Getdata();" style="color: White; font-size:large;">test json
答案 0 :(得分:0)
这一行:
kryrequest(https://raw.github.com/appcelerator/Documentation-Examples/master/HTTPClient/data/json.txt?callback=awe)
...看起来它正在尝试将字符串文字传递给函数。字符串文字必须用引号包围。
(此部分涉及问题的早期版本)
此外,该URI返回JSON文本,而不是JSONP脚本,因此如果您确实修复了它,它仍然无效。
更重要的是,即使该响应确实包含JSON-P,它也不会起作用,因为该对象具有fighters
属性,但不具有name
属性。 fighters
的值是数组(具有names
的对象),但这些名称是字符串,而不是数组。
(此部分涉及问题的早期版本)