【发布时间】:2012-03-21 23:53:03
【问题描述】:
我正在开发一个看似基本的移动应用程序(首先)。但我想让应用程序从我们的“头”服务器请求信息。以确保它拥有最新信息。
我目前正在运行这样的 jQuery 脚本。
$.ajax({
url: 'http://www.domain.com/list.php',
dataType: 'json',
crossDomain: true,
success: function(data) {
// Remove all content first
$(contentId +' li').remove();
// Load Data
$.each(data.items, function(index, list){
$(contentId).append('<li><a href="details.html?id=' + list.homeId + '" >' + list.name + '</a></li>\n');
});
// Reload View
$(contentId).listview('refresh');
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('Error: '+ jqXHR + textStatus + errorThrown);
}
});
实际上,在那个 LIST.PHP 文件上,它确实返回了一个 JSON 字符串。但我为安全所做的是将其添加为标题
header("Access-Control-Allow-Origin: *");
或者我可以将 * 更改为域/url 以增加安全性。但是,如果我不在其中添加该 header() 代码,我的 javascript 会中断并且无法正常运行。
我想我真正想知道的是,我这样做是否正确?还是有更好的方法来做到这一点?我已经尝试过 JSONP,但我似乎无法让它适用于跨域。
我的解决方案合理吗?还是完全废话?任何想法或方向将不胜感激!
【问题讨论】:
标签: php jquery json cross-domain jsonp