我没有收到我的jsonp的回复

时间:2012-11-05 07:11:22

标签: javascript json html5 jsonp

我有这个测试json url

This is the link

 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:

little jsfiddle

我调用该函数的html是

<a type=button id="processnames" onclick="window.Getdata();" style="color: White; font-size:large;">test json

1 个答案:

答案 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的对象),但这些名称是字符串,而不是数组。

(此部分涉及问题的早期版本)