2015-07-21 124 views
2

我正在构建这个HTML/JS应用程序,以便基于我的WordPress网站(使用其数据库,用户等)基于Phonegap进行移动。 所以现在我有一个functions.js试图访问我的wordpress创建了一个功能类似在外部主机上访问Wordpress ajax

add_action('wp_ajax_nopriv_checking_email', 'checking_email'); 

我要的是能够与我的JS代码访问此一个index.html。 我已经试过这样的事情:

jQuery.ajax({ 
    type: 'POST', 
    url: 'http://myhost.com/wp-admin/admin-ajax.php', 
    data: { 'action': 'checking_email', 'email': '[email protected]' }, 
    success: function(request_data) { 
     console.log(request_data); 
    } 
}); 

,我得到

XMLHttpRequest cannot load http://myhost.com/wp-admin/admin-ajax.php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

我能做些什么,以从外部主机访问管理-ajax.php?

+0

您是否需要从不同的域名?如果是这样,这是一个CORS问题。请阅读这篇文章以获取更多信息http://www.html5rocks.com/en/tutorials/cors/基本上,您的主机必须遵循允许不同域访问其资源的规则。 –

+0

@VictorSoto这不是关于主机......它只涉及服务器脚本中的标题 – charlietfl

+0

@VictorSoto感谢您的信息,但正如charlietfl所说的,我只需要更改PHP脚本的访问控制。 – Dogmatics

回答

1

因此,经过多次测试后,我发现它确实是一个非常愚蠢的修复。 通过更改服务器脚本的标题,它允许从不同的主机访问它。

header('Access-Control-Allow-Origin: *'); // for any host 
header('Access-Control-Allow-Origin: myhost.com'); // specific host