我的css定义了一个按钮提交类型的输入,我点击它时有一个js函数
$(".submit").click(function(e){
if (!e.isDefaultPrevented()) {
var url = "saveProfile.php";
$.ajax({
type: "POST",
url: url,
data: $(this).serialize(),
success: function (data)
{
//alert('success function');
var messageAlert = 'my_alert-' + data.type;
var messageText = data.message;
var alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>' + messageText + '</div>';
var alertBox2 = '<div align="center" class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>' + messageText + '</div>';
//alert(messageAlert);
alert('Thanks :)');
if (messageAlert && messageText) {
$('#msform').find('.result_message').html(alertBox2);
$('#msform')[0].reset();
}
}
});
return false;
}
return false;
})
问题 - ajax函数总是失败 错误消息:未通过访问控制检查:否&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上
我注意到了什么:我无法在侧面板上看到saveProfile.php文件 - 这是否意味着它没有被加载,如果是这样,为什么?它与调用/引用它的js文件位于同一目录中。
答案 0 :(得分:0)
我认为*.php
文件应该找到调用/引用js文件的同一目录。
您还可以在请求header('Access-Control-Allow-Origin: *')
中添加标头。但这可能不安全。你可以从how to bypass Access-Control-Allow-Origin?
答案 1 :(得分:0)
saveProfile.php文件可能未位于文档根目录中。在这种情况下,您应该从您的root中提供saveProfile.php的相对url作为url变量的值。
答案 2 :(得分:-3)
使用浏览器调试器的网络选项卡(例如chrome devTools)。列出了所有请求。 如果请求成功,您可以在那里看到。