【问题标题】:How do i consuming rest service with jquery in phonegap我如何在 phonegap 中使用 jquery 使用休息服务
【发布时间】:2015-06-30 13:38:30
【问题描述】:

我正在使用 monaca IDE + phonegap 来构建一个手机应用程序。

我已经创建了一个安静的服务器 - http://engridmedia.com/next/api/channel/user/id/1

我正在尝试使用我的 js 文件中的这个 jquery 脚本来使用 json 休息服务。

$(document).ready(function() {
$.ajax({
    url: "http://engridmedia.com/next/api/channel/user/id/1"
}).then(function(data) {
   $('.ch-name').append(data.ch_name);
   $('.ch_logo').append(data.ch_logo);
});

});

并像这样在正文中调用它

    <div>
<p class="ch_logo"> </p>
<p class="ch_name"> </p>
</div>

这应该不起作用吗?我已将 jquery.min.js 文件和 ajax 文件包含在页面中。但它只是不会显示任何东西。

【问题讨论】:

  • 您检查控制台是否有任何错误消息?尝试在 Promise 函数中记录数据。 (console.log(data) in .then.)
  • 请是 jquery 的新手。我只知道一点关于 javascript 的知识,所以我不可能编写正确的语法来记录数据输入。我可以在 javascript 中做到这一点。无论如何,当我检查时,我未经编辑的代码没有错误。唯一的事情,就像你建议的那样,是检查数据是否流入。谢谢
  • 也许您遇到了跨域冲突?我尝试运行代码并收到:XMLHttpRequest cannot load engridmedia.com/next/api/channel/user/id/1?_=1435681247893。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'stackoverflow.com' 不允许访问。阅读此docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.html
  • 我可以在我的电脑上运行 url 没有任何问题。我直接访问该网站。无论如何,我稍微改变了javascript代码......它说成功了。但我的应用程序中没有显示任何内容。 ` $(document).ready(function() { $.ajax({ cache: false, url: "engridmedia.com/next/api/channel/user/id/1", data: "[]", type: 'GET', crossDomain: true, dataType: 'json ', 成功: function() { alert("Success"); }, error: function() { alert('Failed!'); }, }).then(function(data) { $('.ch-name ').append(data.ch_name); $('.ch-logo').append(data.ch_logo); }); }); `
  • 我也刚刚检查了您刚刚发送的内容。我添加了域来源。但还是!!!!默认情况下,它甚至授予对所有域的访问权限。

标签: javascript jquery ajax rest monaca


【解决方案1】:

试试这个:

$(document).ready(function() {
  $.ajax({
    cache: false,
      url: "http://engridmedia.com/next/api/channel/user/id/1",
    type: 'GET',
    crossDomain: true,
    dataType: 'json',
    success: function() {
        alert("Success");
    },
    error: function() {
        alert('Failed!');
    },
}).then(function(data) {
    var result = data [0];
    console.log(result)
    $('.ch-name').append(result.ch_name);
    $('.ch-logo').append(result.ch_logo);
});
});

您在 array 中返回一个 object。您需要获取该数组中的 first 对象。

【讨论】:

  • 哇,谢谢兄弟。非常感谢您 !!!!你最后错过了“});”。谢谢 !!!!!!!!!!!!如何一次列出所有数据? javascript 中的 foreach 可以吗?
  • 实际上数组中只有一个元素。如果你有更多,你可以在 javascript 中做一个 for 。如果答案对您有帮助,请标记为肯定的。
  • 我确实很欣赏它,但该网站说我需要先赢得一些声誉才能显示。哈哈,感谢阿米戈!祝阿根廷今天好运。
  • 谢谢!祝你的应用好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-28
  • 1970-01-01
  • 1970-01-01
  • 2016-12-31
  • 1970-01-01
  • 2017-07-03
  • 1970-01-01
相关资源
最近更新 更多