我的脚本js有点问题,事实上,我使用jQuery将带有ajax的数据发送到PHP文件。我期待一个dataType文本作为回报,我想用Javascript测试。
我的目标是,如果从PHP返回的文本等于“inserted”,我想将用户重定向到另一个网页,否则会出现一个弹出窗口,其中包含从PHP返回的错误消息。
但问题是,即使PHP的响应被“插入”,它也不会将用户重定向到预期的页面,但它会显示一个弹出“插入”作为消息。
这是ajax源代码:
$('#valider').click(function(e) {
e.preventDefault();
var form = $('#form-filter').get(0);
var formData = new FormData(form); // get the form data
// on envoi formData vers mail.php
$.ajax({
type: 'POST', // define the type of HTTP verb we want to use (POST for our form)
url: 'insert-prescripteur.php', // the url where we want to POST
data: formData, // our data object
dataType: 'text', // what type of data do we expect back from the server
processData: false,
contentType: false,
success: function(server_response) {
if (server_response === "inserted") {
window.location.href = "page.php";
} else {
$('#erreur_inscription').html('<p>' + server_response + '</p>');
$('#triggerwarning').trigger('click');
setTimeout(function() {
$('#ferme').trigger('click');
}, 4000);
}
}, // --> this was missing
error: function(server_response) {
alert(server_response);
}
});
});
感谢您的回答。
答案 0 :(得分:0)
我想感谢大家的答案。我找到了我的问题的解决方案,它不是由于javascript而是由PHP返回的文本,而不是“插入”PHP返回“插入”后有两个空格,然后我只是改变了这样的javascript条件:
if(server_response === "inserted ")
或者替换会更好,但两者都运作良好:
server_response = server_response.replace(' ', '');
if(server_response === "inserted")
{
window.location.replace("page.php");
}
答案 1 :(得分:-2)
替换server_response ===&#34; inserted&#34;到server_response ==&#34;插入&#34;