我正在开发一个用户必须插入用户名的表单。我想检查用户的用户名是否有效的模糊:
我添加了这个脚本:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script>
在HTML中:
<input name="username" type="text" onblur="checkUsername()">
脚本:
function checkUsername(){
var usn = document.getElementsByName('username')[0];
if(usn.value != "") {
var html = $.ajax({
type: "GET",
url: "checkUsername.php?",
data: "usr=" +usr.value
async: false,
dataType: "text"}).responseText;
if(html == "si") {
usn.style.backgroundColor = "green";
} else {
usn.style.backgroundColor = "red";
usn.value = "Username still exists!";
}
}
}
所以onBlur
不起作用,当我提交表单时,它会出现如下错误:
HTTP Error 405.0 - Method Not Allowed
The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used.
我该怎么办?问题在哪里?
答案 0 :(得分:2)
首先考虑将JQuery升级到1.6.x版本。
尝试修改脚本版本:
function checkUsername(){
var usn = document.getElementsByName('username')[0];
if(usn.value != "") {
var html = $.ajax({
url: "checkUsername.php",
data: "usr=" +usr.value
async: false,
dataType: "text"}).responseText;
if(html == "si") {
usn.style.backgroundColor = "green";
} else {
usn.style.backgroundColor = "red";
usn.value = "Username still exists!";
}
}
}
答案 1 :(得分:1)
通常当我从Jquery运行AJAX命令时,我的数据属性是这样的数组:
$.ajax({
type: "GET",
url: "checkUsername.php",
data: {
usr: usr.value
},
async: false,
dataType: "text"}).responseText;
答案 2 :(得分:0)
添加
dataType: 'jsonp',
答案 3 :(得分:0)
另一件事是检查你的ajax调用之上的javascript错误,这也会导致405错误......