簡體   English   中英

HTTP響應狀態為200,但無響應顯示

[英]HTTP response status is 200, but no response shows

我有這個簡單的代碼可以從我的 sql 表中獲取值列表,並將它們顯示在我的<select>下拉列表中。

我的html

<select class="form-select" id="sel1" name="sel1" style="width: 7em;"></select>

我的Javascript

const from = document.getElementById("sel1");
from.addEventListener("click",function(){
  let $select = $("#sel1");
  $.ajax({
    url: '/paydetails_server.php',
    type: 'POST',
    data: { "input": "from_periods" }, 
    dataType: 'json',
    cache:false, 
    success: function(response) {
      //console.log(response);
      response.sort();
      let selectedValue = $select.val();
      let html = response.filter((e, i, a) => a.indexOf(e) === i).map(item => `<option value="${item}">${item}</option>`);
      $select.html(html).val(selectedValue);
    },
    complete: function() {}
  });
})

我的PHP

if(isset($_POST["input"])){
   if(!$connection)
      echo "Connection to database failed! Please try again";
   else{
      $periods=array();
      $sql = "SELECT DISTINCT `YEARMM` from `emp_pp`";
      $result = $con->query($sql);
      if ($result->num_rows > 0) {
         while($row = $result->fetch_assoc()) {
            if((!str_contains($row["YEARMM"],"S"))&&(!str_contains($row["YEARMM"],"B")))
               array_push($periods,$row["YEARMM"]);
            }
            echo json_encode($periods);
         }
      }
 }

現在,當我在localhost XAMPP 服務器中執行代碼時,它運行良好。 但令人驚訝的是,它在我的實時服務器中不起作用。 我已經仔細檢查了所有內容,包括主機、服務器名稱、數據庫名稱等變量。

我嘗試在“網絡”選項卡中檢查錯誤,但得到的只是響應狀態 200。即使我嘗試了console.log(response) ,控制台中也沒有顯示任何內容。 為什么相同的代碼在本地服務器中工作而不是在現場? 請幫我。

由於某種原因,語句if((,str_contains($row["YEARMM"],"S"))&&(!str_contains($row["YEARMM"],"B")))導致了這個問題,雖然,它在localhost中運行良好。

檢查你得到的表單數據庫,str_contains 只驗證結果是否包含字母 S 或 B

當您告訴 jQuery 將數據解析為 JSON 時,它將運行success function 僅在以下情況下:

  • 它得到一個 OK 響應
  • 它可以將響應體解析為 JSON

在您的 PHP 中,您在while循環中有echo json_encode($periods)

如果有多個值被循環,那么您有多個 JSON 文本混合在一起 - 這不是有效的 JSON。

如果有零個條目被循環,那么您就沒有 JSON — 這不是有效的 JSON。

移動echo json_encode($periods); 語句,所以它while循環之后。

暫無
暫無

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

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