Jquery 嵌套的$.getJSON()在Cordova中不起作用

Jquery 嵌套的$.getJSON()在Cordova中不起作用,jquery,rest,Jquery,Rest,请看下面的代码,我无法执行嵌套的$.getJSON()。我的url是RESTful的,当我在fiddler中单独运行它们时,它们工作得非常好。我在方法中也注意到了CORS var-uri=”http://www.XXXXXX.XXX/WebService/api/controllername/Chk_mehtod/123"; $.getJSON(uri) .完成(功能(数据){ if(jQuery.isEmptyObject(数据)) { 警报(“数据为空”); } 其他的 { 变量菜单_ur

请看下面的代码,我无法执行嵌套的$.getJSON()。我的url是RESTful的,当我在fiddler中单独运行它们时,它们工作得非常好。我在方法中也注意到了CORS

var-uri=”http://www.XXXXXX.XXX/WebService/api/controllername/Chk_mehtod/123";
$.getJSON(uri)
.完成(功能(数据){
if(jQuery.isEmptyObject(数据))
{
警报(“数据为空”);
}
其他的
{
变量菜单_uri=”http://www.XXXXXX.XXX/WebService/api/controllername/Menu_mehtod/465";
警报(“在此警报前,代码有效”);
$.getJSON(菜单uri,函数(菜单数据){
$.each(菜单数据、函数(索引、项)
{
警报(“超链接:+项.超链接”);
});
})
.done(函数(){alert(“内部成功”);})
.fail(函数(){alert(“内部错误”);});
}
})

.fail(函数(){alert(“外部错误”);})您的HTML页面中应该已经有一个元标记,类似于以下内容:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' 
    data: gap: https://ssl.gstatic.com 'unsafe-eval'; 
    style-src 'self' 'unsafe-inline'; media-src *">
注意包含的冒号


您可以在这个方便的网站上阅读有关内容安全策略的更多信息:

您的HTML页面中应该已经有一个元标记,类似于以下内容:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' 
    data: gap: https://ssl.gstatic.com 'unsafe-eval'; 
    style-src 'self' 'unsafe-inline'; media-src *">
注意包含的冒号


您可以在这个方便的网站上阅读有关内容安全策略的更多信息:

现在我明白了,为什么它对我不起作用,因为$.getJSON()是异步的,我在第一个请求中有重定向代码

$.getJSON()是$.ajax()的简写符号,可以将其配置为同步

在解决这个bug的过程中,我学到了太多的新东西


感谢您的回复。

现在我明白了为什么它对我不起作用,因为$.getJSON()是异步的,我在第一个请求中有重定向代码

$.getJSON()是$.ajax()的简写符号,可以将其配置为同步

在解决这个bug的过程中,我学到了太多的新东西



感谢您的回复。

欢迎来到Stack Overflow!你有没有检查过Chrome开发者工具的JavaScript或网络错误?我已经在jsfiddler中检查过了,它工作正常。。。但当我在android emulator上运行它时,第一个getJson工作正常,第二个失败。是的,我怀疑这与白名单插件有关。请打开Chrome开发工具并在浏览器上选择您的模拟器chrome://inspect 页然后,您应该能够看到控制台上是否有任何错误。请张贴这些。感谢回复,我怀疑它与白名单插件有问题。。。因为当我单独运行它们时,它们正在工作。。。当我在嵌套中调用它们时,它就不起作用了。。。我不知道更多关于Chrome开发工具的信息。。。尽管如此,我还是尝试了以下错误:GETfile:///D:/Projects/LoginApp/LoginApp/www/cordova.js net::ERR_FILE_NOT_FOUND拒绝加载图像的数据:image/gif;base64,r0lgodlhaqaabaaaap///ywaaabaaacauwaow=='因为它违反了以下内容安全策略指令:“img src'self'”欢迎使用堆栈溢出!你有没有检查过Chrome开发者工具的JavaScript或网络错误?我已经在jsfiddler中检查过了,它工作正常。。。但当我在android emulator上运行它时,第一个getJson工作正常,第二个失败。是的,我怀疑这与白名单插件有关。请打开Chrome开发工具并在浏览器上选择您的模拟器chrome://inspect 页然后,您应该能够看到控制台上是否有任何错误。请张贴这些。感谢回复,我怀疑它与白名单插件有问题。。。因为当我单独运行它们时,它们正在工作。。。当我在嵌套中调用它们时,它就不起作用了。。。我不知道更多关于Chrome开发工具的信息。。。尽管如此,我还是尝试了以下错误:GETfile:///D:/Projects/LoginApp/LoginApp/www/cordova.js net::ERR_FILE_NOT_FOUND拒绝加载图像的数据:image/gif;base64,r0lgodlhaqabaabaaaap///ywaaabaaacauwaow=='因为它违反了以下内容安全策略指令:“img src'self'”您好,现在我使用了以下仍然存在的错误:错误:GETfile:///D:/Projects/LoginApp/LoginApp/www/cordova.js net::ERR_FILE_NOT_FOUND拒绝加载图像的数据:image/gif;base64,r0lgodlhaqabaabaaaap///ywaaabaaacauwaow=='因为它违反了以下内容安全策略指令:“img src‘self’”。我现在意识到,我的初始答案将允许从外部网站获取图像。您希望它允许data:schema。我将更新答案。目前,我希望允许数据:来自外部网站。。。即使我从脚本中删除了“else”部分,这两个错误也是存在的。。。。但我的问题不同。。。嵌套的$.getJson不工作。。。如果我在不同的按钮点击事件中运行上述两个URL,那么它们将完美运行。。。感谢您的快速回复…您引用的唯一错误消息是关于内容安全违规的消息。你看到其他消息了吗?没有。。。。但我知道我只错过了科尔多瓦那边的一些东西。。。。因为当我在jsfiddler中运行上述脚本时。。。结果是正确的。。。我不知道如何摆脱这个。。。谢谢你们的支持…嗨,现在我已经用了下面的错误仍然存在:错误:获取file:///D:/Projects/LoginApp/LoginApp/www/cordova.js net::ERR_FILE_NOT_FOUND拒绝加载图像的数据:image/gif;base64,r0lgodlhaqabaabaaaap///ywaaabaaacauwaow=='因为它违反了以下内容安全策略指令:“img src‘self’”。我现在意识到,我的初始答案将允许从外部网站获取图像。您希望它允许data:schema。我将更新答案。目前,我希望允许数据:来自外部网站。。。即使我从脚本中删除了“else”部分,这两个错误也是存在的。。。。但我的问题不同。。。嵌套的$.getJson不工作。。。如果我