Php jquerymobile->;从外部服务器加载内容
我正在开发一款看似基本的移动应用程序(第一款)。但是我想让应用程序能够从我们的“头”服务器请求信息。以确保它具有最新信息 我目前正在运行这样的jQuery脚本Php jquerymobile->;从外部服务器加载内容,php,jquery,json,cross-domain,jsonp,Php,Jquery,Json,Cross Domain,Jsonp,我正在开发一款看似基本的移动应用程序(第一款)。但是我想让应用程序能够从我们的“头”服务器请求信息。以确保它具有最新信息 我目前正在运行这样的jQuery脚本 $.ajax({ url: 'http://www.domain.com/list.php', dataType: 'json', crossDomain: true, success: function(data) { // Remove all
$.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);
}
});
或者我可以将*更改为域/url以增加更好的安全性。但如果我不在它们的代码中添加header()代码,我的javascript就会崩溃,无法正常运行
我想我真正想知道的是,我做得对吗?还是有更好的方法?我已经尝试过JSONP,但我似乎无法让它在跨域中工作
我的解决方案合理吗?还是一派胡言?任何想法或方向都将不胜感激 我认为你应该研究一下
JSONP
。没那么难。在客户端,jQuery已经可以直接处理它,只需在URL中附加一个?回调=?
。在服务器上,而不是仅使用JSON进行响应,例如:
{
"foo": "bar"
}
查找查询参数callback
,如果它存在,将JSON输出包装在函数调用中,名称为回调参数的值,因此,对于callback=foo
:
foo({
"foo": "bar"
})
使用JSONP响应时,发送
内容类型:text/javascript
。这应该在不设置accesscontrolalloworigin
或类似设置的情况下工作。我认为您应该查看JSONP
。没那么难。在客户端,jQuery已经可以直接处理它,只需在URL中附加一个?回调=?
。在服务器上,而不是仅使用JSON进行响应,例如:
{
"foo": "bar"
}
查找查询参数callback
,如果它存在,将JSON输出包装在函数调用中,名称为回调参数的值,因此,对于callback=foo
:
foo({
"foo": "bar"
})
使用JSONP响应时,发送内容类型:text/javascript
。这应该在不设置访问控制允许原点
或类似设置的情况下工作