繁体   English   中英

AJAX调用跨域问题

[英]AJAX call cross domain issue

我正在尝试使用ajax调用登录我的wordpress网站,我在上一个问题中提到过 它不应该回应任何回应。 但每当我称之为ajax函数时,Firefox(firebug)显示200 OK红色。 这必须是跨域问题。 到目前为止尝试了太多但没有运气的东西。 这是代码:

$.ajax({
         type: "POST",
         url: "http://path-to-wordpress/wp-login.php",
         data:myData
         success: function(data){

         },
        error: function (xhr, ajaxOptions, thrownError) {

        }   
});

任何建议将不胜感激。

我假设您的JS代码在abc.com而您的wordpress网站是dev.abc.com

要修复跨域问题,只需将以下代码添加到.htaccess文件到您的wordpress站点( dev.abc.com

SetEnvIf Origin "^http(s)?://(.+\.)?(abc\.com)$" origin_is=$0 
Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is

只需用适当的站点名称替换(abc\\.com) 例如: (google\\.com)(yahoo\\.com)

在ajax调用中将dataType设置为JSONP ,它将跨域工作

对于参考ajax调用访问jQuery Ajax

有一个名为crossDomain $ .ajax的属性。 请将其设置为true。

您需要在wp-login.php页面中添加CORS头

这是怎么做的

但鉴于页面的性质,要格外小心: 不要允许所有来源(*),只允许你的网站 如果您允许所有人,您的用户可能会盗取他们的登录信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM