Php jquerymobile->;从外部服务器加载内容

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

我正在开发一款看似基本的移动应用程序(第一款)。但是我想让应用程序能够从我们的“头”服务器请求信息。以确保它具有最新信息

我目前正在运行这样的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);
        }
    });
或者我可以将*更改为域/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
。这应该在不设置
访问控制允许原点
或类似设置的情况下工作