ajax - 加载资源失败:在我的 wordpress 网站中的 Safari 上请求超时
问题描述
我有wordpress网站。最近我们在 ajax 请求中遇到了问题。在网站上,当我单击注册并调用 ajax 时,我们打开了注册弹出窗口,它只在 safari 浏览器上显示“加载资源失败:请求超时。”
我尝试使用 async:true、timeout 和 setTimeout 来解决这个问题,但没有人工作。
var request = $.ajax({
url: jobifySettings.homeurl,
data: data,
type: 'POST',
cache: false
}).done(function(response) {
form.find( $( '.woocommerce-error' ) ).remove();
var $response = $( '#ajax-response' );
var html = $.parseHTML(response);
console.log( response );
$response.append(html);
error = $response.find( $( '.woocommerce-error' ) );
if ( error.length > 0 ) {
form.prepend( error.clone() );
$response.html('');
e.preventDefault();
}
});
解决方案
首先,我会说在您的 ajax 设置(您说过您尝试过)中将 async 设置为 true,因为这将使 Safari 保持连接打开,直到您得到响应(然后关闭它)。
但是,如果这对您自己不起作用,您可以尝试在您的 htaccess 文件中添加跨域“CORS”标头(标头集 Access-Control-Allow-Methods:“*”)。如果您遇到 CORS 问题,此故障排除链接可能会有所帮助。
引用链接:(以防将来中断)
<ifmodule mod_headers.c=""> SetEnvIf Origin "^(.*\.domain\.com)$" ORIGIN_SUB_DOMAIN=$1 Header set Access-Control-Allow-Origin "%{ORIGIN_SUB_DOMAIN}e" env=ORIGIN_SUB_DOMAIN Header set Access-Control-Allow-Methods: "*" Header set Access-Control-Allow-Headers: "Origin, X-Requested-With, Content-Type, Accept, Authorization" </ifmodule>