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})是否有效代码>参考