IE 11 Ajax 问题
IE 11 Ajax issue
所以 Internet Explorer 又做了一次。我目前有一个 validation.php
文件,其中发送文本框中的值以进行验证。文本框的值被读取,然后给出一个结果来说明这是否有效。这在除 IE 之外的任何其他浏览器上都能完美运行。 ajax 请求特别无效。任何帮助,将不胜感激。下面的脚本负责从输入框中获取数据并通过 AJAX.
发送请求
$(document).ready(function () {
$("#email").blur(function () {
var username = $(this).val();
if (username == '') {
$("#availability").html("Empty Input");
}
else{
$.ajax({
url: "validation.php?uname="+username
}).done(function( data ) {
if (data.includes("result-from-validation")){
//DO SOMETHING
}
else {
// DISPLAY ERROR
}
});
}
});
});
两期:
username
真的,真的应该在作为 URI 的一部分发送之前进行 URI 编码:url: "validation.php?uname="+encodeURIComponent(username)
(或者让 jQuery 通过传递为data: {uname: username}
).
Array#includes
and String#includes
都是JavaScript中的新事物。旧版浏览器没有它们也就不足为奇了。
如果需要,两者都可以填充(见上面的链接),或者你可以使用 indexOf
:if (data.indexOf("result-from-validation") != -1)
所以 Internet Explorer 又做了一次。我目前有一个 validation.php
文件,其中发送文本框中的值以进行验证。文本框的值被读取,然后给出一个结果来说明这是否有效。这在除 IE 之外的任何其他浏览器上都能完美运行。 ajax 请求特别无效。任何帮助,将不胜感激。下面的脚本负责从输入框中获取数据并通过 AJAX.
$(document).ready(function () {
$("#email").blur(function () {
var username = $(this).val();
if (username == '') {
$("#availability").html("Empty Input");
}
else{
$.ajax({
url: "validation.php?uname="+username
}).done(function( data ) {
if (data.includes("result-from-validation")){
//DO SOMETHING
}
else {
// DISPLAY ERROR
}
});
}
});
});
两期:
username
真的,真的应该在作为 URI 的一部分发送之前进行 URI 编码:url: "validation.php?uname="+encodeURIComponent(username)
(或者让 jQuery 通过传递为data: {uname: username}
).Array#includes
andString#includes
都是JavaScript中的新事物。旧版浏览器没有它们也就不足为奇了。如果需要,两者都可以填充(见上面的链接),或者你可以使用
indexOf
:if (data.indexOf("result-from-validation") != -1)