Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP错误405.0-不允许使用Jquery ajax获取方法_Jquery_Ajax_Http Status Code 405 - Fatal编程技术网

HTTP错误405.0-不允许使用Jquery ajax获取方法

HTTP错误405.0-不允许使用Jquery ajax获取方法,jquery,ajax,http-status-code-405,Jquery,Ajax,Http Status Code 405,我正在开发一个表单,用户必须在其中插入用户名。我想检查用户的用户名是否有效: 我添加了以下脚本: <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/jq

我正在开发一个表单,用户必须在其中插入用户名。我想检查用户的用户名是否有效:

我添加了以下脚本:

<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>
因此,
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运行AJAX命令时,我的数据属性是这样一个数组:

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

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

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

首先考虑将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升级到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!";
       }
    }
}
在“添加”选项中

dataType: 'jsonp',
在“添加”选项中

dataType: 'jsonp',

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

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

阅读这篇文章,我正在使用一个在线主机,我可以编辑任何东西你有权访问
checkUsername.php
?检查上面链接提到的重定向。阅读这篇文章,我正在使用一个在线主机,我可以编辑任何东西你有权访问
checkUsername.php
?检查上面链接提到的重定向。为什么
1.6.x
?我知道最新的稳定版本是
1.7.1
,但有时从旧版本升级到最新版本会破坏现有的代码。虽然1.6.x分支离1.5.x不远,但它对$.ajax()函数进行了大量的错误修复:@JackTurky您确定您尝试执行的请求不是跨域或受用户ID/密码保护的请求吗?尝试单独测试php脚本,调试GET参数,然后在javascript中使用控制台而不是alerts.done做同样的事情!我不知道问题出在哪里,我重新登入所有并更新所有};)为什么
1.6.x
?我知道最新的稳定版本是
1.7.1
,但有时从旧版本升级到最新版本会破坏现有的代码。虽然1.6.x分支离1.5.x不远,但它对$.ajax()函数进行了大量的错误修复:@JackTurky您确定您尝试执行的请求不是跨域或受用户ID/密码保护的请求吗?尝试单独测试php脚本,调试GET参数,然后在javascript中使用控制台而不是alerts.done做同样的事情!我不知道问题出在哪里,我重新登入所有并更新所有};)@JackTurky它与您的jQuery脚本无关。@JackTurky它与您的jQuery脚本无关。