【发布时间】: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