当前位置:  开发笔记 > 编程语言 > 正文

仪表板跨域AJAX与jquery

如何解决《仪表板跨域AJAX与jquery》经验,为你挑选了1个好方法。

嘿大家,我正在为Apple的Dashboard创建一个小部件,我在尝试使用jquery的ajax函数从我的服务器获取数据时遇到了问题.这是我的javascript代码:

$.getJSON("http://example.com/getData.php?act=data",function(json) { 
    $("#devMessage").html(json.message)
    if(json.version != version) {
        $("#latestVersion").css("color","red")
    }
    $("#latestVersion").html(json.version)
})

服务器用这个json响应:

{"message":"Hello World","version":"1.0"}

但是出于某种原因,当我运行它时,小部件上的字段不会改变.从调试开始,我了解到小部件甚至没有向服务器发出请求,因此我认为Apple有一些外部URL阻塞.我知道这不可能是真的,因为很多小部件都打电话回家检查更新.

有没有人对什么可能是错的有任何想法?

编辑:此外,此代码在Safari中完美运行.


根据Luca的要求,这里是正在运行的PHP和Javascript代码:

PHP:

echo $_GET["callback"].'({"message":"Hello World","version":"1.0"});';

使用Javascript:

function showBack(event)
{
var front = document.getElementById("front");
var back = document.getElementById("back");

if (window.widget) {
    widget.prepareForTransition("ToBack");
}

front.style.display = "none";
back.style.display = "block";
stopTime();
if (window.widget) {
    setTimeout('widget.performTransition();', 0);
}
$.getJSON('http://nakedsteve.com/data/the-button.php?callback=?',function(json) { 
    $("#devMessage").html(json.message)
    if(json.version != version) {
        $("#latestVersion").css("color","red")
    }
    $("#latestVersion").html(json.version)
})
}

Tom.. 7

在Dashcode中单击" 小组件属性",然后单击" 允许网络访问",确保选中该选项.我已经建立了一些拒绝工作的东西,这就是解决方案.



1> Tom..:

在Dashcode中单击" 小组件属性",然后单击" 允许网络访问",确保选中该选项.我已经建立了一些拒绝工作的东西,这就是解决方案.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有