HTTP错误405.0 – 使用Jquery ajax get不允许使用方法

我正在开发一个用户必须插入用户名的表单。 我想查看用户的用户名有效的模糊:

我添加了这个脚本:

  

在HTML中:

  

脚本:

 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. 

我能做什么? 问题出在哪儿?

首先考虑将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!"; } } } 

通常当我从Jquery运行AJAX命令时,我的数据属性是这样的数组:

  $.ajax({ type: "GET", url: "checkUsername.php", data: { usr: usr.value }, async: false, dataType: "text"}).responseText; 

在选项中添加

 dataType: 'jsonp', 

另一件事是检查你的ajax调用之上的javascript错误,这也会导致405错误…