Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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
C# 如何使用JQuery getJSON验证用户名_C#_Jquery_Asp.net_Json - Fatal编程技术网

C# 如何使用JQuery getJSON验证用户名

C# 如何使用JQuery getJSON验证用户名,c#,jquery,asp.net,json,C#,Jquery,Asp.net,Json,我已经按照教程找到了基本的理解是什么标题说。到目前为止,我得出的结论是,$.getJSON根本不起作用 我已将我的代码缩减为: <script type="text/javascript"> $(document).ready(function () { var usernameUnavailableRow = $('#usernameUnavailableRow'); var availabilityMessage

我已经按照教程找到了基本的理解是什么标题说。到目前为止,我得出的结论是,
$.getJSON
根本不起作用

我已将我的代码缩减为:

<script type="text/javascript">
        $(document).ready(function () {

            var usernameUnavailableRow = $('#usernameUnavailableRow');
            var availabilityMessage = $('#availabilityMessage');

            $("#UserName").hover(function () {
                //usernameUnavailableRow.hide();
            });

            $("#UserName").blur(function () {
            $.getJSON('/OCDB/UsernameAvailable.aspx?' + escape($(this).val()), function (results) {
                if (results.available) {
                    alert("available"); //Just checking if anything even returns
                } else {
                    alert("not available"); //Just checking if anything even returns
                }
            });
        });
        });
    </script>

<table>
         <tr>
            <td>
               <input id="UserName"></input>
            </td>
         </tr>
         <tr id="usernameUnavailableRow">
            <td>
               <span id="availabilityMessage">k</span>
            </td>
         </tr>
</table>

$(文档).ready(函数(){
var usernameUnavailableRow=$(“#usernameUnavailableRow”);
var availabilityMessage=$(“#availabilityMessage”);
$(“#用户名”).hover(函数(){
//usernameUnavailableRow.hide();
});
$(“#用户名”).blur(函数(){
$.getJSON('/OCDB/usernameavable.aspx?')+转义($(this.val()),函数(结果){
如果(结果可用){
警报(“可用”);//只是检查是否有任何东西返回
}否则{
警报(“不可用”);//只是检查是否有任何东西返回
}
});
});
});
K
而我的
usernameavable.aspx
页面正好显示了这一点:
{“可用”:“false”}

使用时

但是
getJson
事件中没有发生任何事情

谁能告诉我哪里出了问题,因为我看不出我的错误

编辑

更改代码以删除Javascript产生的404错误(感谢@Archer),结果现在总是返回
True
。我已经检查过页面是否在使用用户名时返回了
False
,并且正常工作

警报(项目)中的
结果
还是
项目
(请再次检查您的代码)

此外,如果您获得有效的
json
,则它将显示在
警报中,
在警报中,它将仅显示
对象
。 所以要测试它,您需要编写
console.log(results)代替
警报(项目)


还有一件事你可以写
来代替

你忽略了链接上的这一行:

UsernameAvailable.aspx页面要求输入所需的用户名 在querystring中提供,如下所示: 用户名可用。aspx?desiredUsername

您需要这样做:

$.getJSON('UsernameAvailable.aspx?' + escape($(this).val()), function (results){
    if (results.available) {
        // available
    }
    else{
        // unavailable
    }
});

UsernameAvailable.aspx的内容类型是什么?它是一个普通的asp.net页面还是返回一个JSON对象?您在浏览器的控制台中看到了什么吗?如果正在进行呼叫,那么您应该能够看到呼叫是否成功,以及返回的内容。@Archer-我完全忽略了那个控制台!啊,我是个白痴:/所以对于更新,警报会出现,但是在可用和不可用上,警报总是显示可用。我已经编辑了你的标题。请看“”,其中的共识是“不,他们不应该”。为了简单起见,我在代码中删除了它。当它之前在那里的时候,我把它拿走了,因为我认为这次测试不需要它。将添加并检查。编辑:仍然不起作用。根据@Archers所说的,并将这段代码添加到混合中,我得到了结果,但不幸的是,结果总是
真的
,即使取了名字。当我将username变量传递给url时,页面会以false响应,这样就可以了。对不起,这是结果。我只是将其更改为一个普通的
“test”
字符串,但仍然失败。您可以使用
$.ajax
进行此操作,并检查egs
$.ajax({dataType:“json”,url:url,data:data,success:success})是否有效参考