我尝试了无数代码的排列,最接近成功的是关于“同源策略”的警告,或者我被反弹到应用程序的登录页面,这是写的使用CodeIgniter。
为了保持这种明智,请访问domain-one.com,我正在使用:
(function($) {
var url = 'http://domain-two.com/get_data?callback=?';
$.ajax({
type: 'GET',
url: url,
async: false,
contentType: "application/json",
dataType: 'jsonp',
success: function(json) {
console.log(json);
},
error: function(e) {
console.log(e.message);
}
});
})(jQuery);
在domain-two.com上的PHP中,我正在使用:
public function get_data () {
$results = $this->model->method();
if (count(results)>0):
foreach (results as $array):
$array['index'] = $array['value'];
$array[] = $array_result;
endforeach;
header('content-type: application/json; charset=utf-8');
header("access-control-allow-origin: *");
$json = json_encode($array);
# JSON if no callback
if( ! $this->input->get('callback')):
exit( $json );
endif;
# JSONP if valid callback
if(is_valid_callback($this->input->get('callback'))):
exit( $this->input->get('callback') . "(" . $json . ")" );
endif;
else:
return false;
endif;
}
此时,值得一提的是,当我访问PHP方法的链接时,它会为我提供所需的数据。但是,如果我通过包含JavaScript的网页执行此操作,则不会(“同源政策”错误,或者我已退回到登录页面)。
关于我如何使用回调的帮助充其量是不足的(有些建议使用实际的回调函数,其他人声称不需要这样的函数)。
在这5天之后,我不知道我打算做什么,考虑到大量不同的技术,这些技术似乎都不适合我。
欢迎任何建议!
答案 0 :(得分:1)
在domain-two.com
header('Access-Control-Allow-Origin: http://domain-one.com');
header('Access-Control-Allow-Origin: http://domain-two.com');