如何知道php文件是否处理ajax请求
我为如何知道php文件是否处理ajax请求,php,jquery,ajax,Php,Jquery,Ajax,我为ajax请求提供了以下代码片段: <script type="text/javascript"> $(document).ready(function() { $('#temp').click(function() { var username = $('#un').val(); $.ajax({ url: "inter.php",
ajax
请求提供了以下代码片段:
<script type="text/javascript">
$(document).ready(function() {
$('#temp').click(function() {
var username = $('#un').val();
$.ajax({
url: "inter.php",
data: 'user=' + username,
cache: false,
type: 'GET',
success: function(data, textStatus, jqXHR) {
if (! data.length === 0) {
$('#msg').append('available');
$('#sub').removeAttr('disabled');
} else {
$('#msg').append("Username not available");
$('#sub').attr('disabled', 'true');
}
}
});
});
});
</script>
$(文档).ready(函数(){
$('#temp')。单击(函数(){
var username=$('#un').val();
$.ajax({
url:“inter.php”,
数据:“用户=”+用户名,
cache:false,
键入:“GET”,
成功:函数(数据、文本状态、jqXHR){
如果(!data.length==0){
$('#msg')。追加('available');
$('#sub').removeAttr('disabled');
}否则{
$('#msg')。追加(“用户名不可用”);
$('#sub').attr('disabled','true');
}
}
});
});
});
以及inter.php中的代码
<?php
$arr = array('one', 'two', 'three');
if (in_array($_GET['user'], $arr)) {
echo "Username available";
} else {
//echo "0";
}
?>
但是,每次我收到消息时,用户名不可用
有人能帮忙吗?我是
ajax
的新手
编辑$\u获取['user']
但同样的问题仍然存在。问题:
data: 'user=' + username,
$_GET['un']
您没有对“用户名”或其他名称使用相同的参数名。在JS中,您将其称为“用户”,在PHP中,您将其称为“un”。问题:
data: 'user=' + username,
$_GET['un']
您没有对“用户名”或其他名称使用相同的参数名。在JS中你称之为“用户”,在PHP中你寻找的是“un”。你发送的是
?user=someName
,但寻找的是$\u GET['un']
。将其更改为$\u GET['user']
您正在发送?user=someName
但正在查找$\u GET['un']
。将其更改为$\u GET['user']
以调试我添加的代码行:
alert(data + " " + data.length);
之后
发现我从php文件中得到了正确的消息。然后我发现问题出在我的处理程序上
if(!data.length === 0){
其中代码>运算符仅处理数据。长度
是否需要它来处理整个比较。
我把它改成了
if(!(data.length === 0)){
现在它可以工作了。要调试我在第行添加的代码:
alert(data + " " + data.length);
之后
发现我从php文件中得到了正确的消息。
然后我发现问题出在我的处理程序上
if(!data.length === 0){
其中代码>运算符仅处理数据。长度
是否需要它来处理整个比较。
我把它改成了
if(!(data.length === 0)){
现在它可以工作了。您在用户中传递数据,同时通过$\u GET['un']
获取数据。我如何检查我的请求是否得到正确处理?我在脚本中使用了data.length==0
进行检查。还有其他方法吗?您可以使用与success相同的error
函数,如果ajax请求调用中出现任何错误,则会调用该函数,但是如果您获取数据,或者您的操作方式似乎没有问题。顺便说一句,您编写的用户名不可用
?我们在您发布的代码中找不到。您正在用户中传递数据,而通过$\u GET['un']
获取数据。如何检查我的请求是否得到正确处理?我在脚本中使用了data.length==0
进行检查。还有其他方法吗?您可以使用与success相同的error
函数,如果ajax请求调用中出现任何错误,则会调用该函数,但是如果您获取数据,或者您的操作方式似乎没有问题。顺便说一句,您编写的用户名不可用
?我们在您发布的代码中找不到。我已更改了$\u GET['user']
,但仍然无法使用用户名
您确定用户名正确吗?使用Firebug跟踪网络流量。这将告诉您哪些数据被发送到服务器,以及响应是什么。这应该有助于您调试。我已更改了$\u GET['user']
,但仍然无法使用用户名
您确定用户名正确吗?使用Firebug跟踪网络流量。这将告诉您哪些数据被发送到服务器,以及响应是什么。这应该有助于您调试东西。您需要记录并调试AJAX和PHP,因为有几个点可能会发生错误,如果没有信息,您将不知道。尝试输入一些console.log()
来验证AJAX响应和PHP中的一些日志记录。谢谢你帮我。问题在于如果(!data.length==0)
您需要记录并调试AJAX和PHP,因为有几个点可能会发生错误,如果没有信息,您将无法知道。尝试输入一些console.log()
来验证AJAX响应和PHP中的一些日志记录。谢谢你帮我。如果(!data.length==0)