Ajax请求失败 - 从服务器检索用户ID

时间:2014-11-14 00:50:15

标签: javascript php jquery ajax

我的表单有一个文本输入字段和一个按钮。在提交表单上,我从文本字段user中获取值并对ajax.php进行ajax调用,然后让服务器返回userID。服务器确实返回了一个值,如控制台中所示。但我不确定为什么ajax调用在提交表单后对每个请求都失败了。我能纠正或改变什么才能获得成功?

的index.php

$('form').submit(function(e) {
     var searchUser = $('input[name="user"]').val();
     var getUser = $.ajax({
        type: "GET",
        url: "ajax.php",
        data: {user: searchUser},
        dataType:'text'
     });
     getUser.done(function( data ) {
        alert(data);
     });
     getUser.fail(function( jqXHR, textStatus, data ) {
        alert( "Request failed: " + textStatus );
     });
});

<form id="search" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="GET">
    <label for="user"> Username:</label><input type="text" name="user" id="user" value="<?php echo $user ?>"><br>
    <button type="submit" id="search">Search</button>
</form>

ajax.php

 if(!empty($_GET['user'])){
        $user = $_GET['user'];
        echo getInstaID($user); // this prints a numeric value like 2057821
      }

2 个答案:

答案 0 :(得分:0)

也许数据以json或jsonp的形式返回?您已指定dataType:'text'。如果返回数据类型不同,则会出错。如果您使用的是相当新版本(我认为2.0或更高版本),请忽略dataType或指定dataType:“auto”将允许调用成功。然后你可以调试以找出如何处理响应。

答案 1 :(得分:0)

您可以尝试添加如下所示的成功函数:

   $('form').submit(function(e) {

     var searchUser = $('input[name="user"]').val();

    $.ajax({
        type: "GET",
         url: "ajax.php",
         data: {user: searchUser},
         success:function(data){//begin success function

        //do something with the data returned from ajax.php file
        alert(data);

    }//end success function

 });