簡體   English   中英

從jQuery.post向PHP返回數據時的未定義參數

[英]Undefined parameter when returning data from jQuery.post to PHP

我正在嘗試從數據庫返回數據並在用戶在第一個文本框中輸入ID后填充文本字段。 目前,只要用戶未在ID號中輸入空格,我就可以使用該代碼。 現在,我嘗試允許該用例。 我的PHP代碼返回一個包含三個字段的json編碼數組:first_name,last_name和full_name。

當我使用console.log(data)查看返回的數據時,我收到以下信息:

    {"first_name":"Test","last_name":"Test","full_name":"Test Test"} 

但是,在我的代碼中,我嘗試在.val()中寫入data.full_name ,但沒有填充任何內容,並且在使用console.log時出現錯誤消息“ undefined”。

這是整個jQuery代碼:

    $("#ID").blur(function () {
        var params = {};
        params.ID = encodeURIComponent($(this).val());
        $.post("getter.php", params, function ( data ) {
          if (!data) {
             $("input[name=username]").val("User Not Found");
          } else {
             $("input[name=username]").val(data.full_name);
             $("input[name=username]").attr("readonly", true);
          }
        });
     });

您能提供的任何幫助將不勝感激。

強制jQuery將返回的數據讀取為json:

$("#ID").blur(function () {
        var params = {};
        params.ID = encodeURIComponent($(this).val());
        $.post("getter.php", params, function ( data ) {
          if (!data) {
             $("input[name=username]").val("User Not Found");
          } else {
             $("input[name=username]").val(data.full_name);
             $("input[name=username]").attr("readonly", true);
          }
        }, "json"); // <- json forced
     });

然后確保您返回的數據采用正確的json格式(例如php中的json_encode

使用trim()刪除空格。

然后,您可以檢查參數值是否為is_numeric() ,如果為false,則設置默認值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM