命名的列story是一種文本型別,
單擊按鈕我有一個 jquery ajax 來從該列獲取資料 - 在特定的id
<div id='bstory'></div>
在服務器端我有:
function a_click($id){
global $db;
$sq = "select story from dict where id = :aid limit 1";
$st = $db->prepare($sq);
$st->execute([":aid" => $id]);
echo $st->fetchColumn();
}
在客戶端:
$(document).on('click', '.atitle', function(){
let id = $(this).attr('data-id');
$.post('a_dict_pro.php', {fn: 'a_click', args: [id]}, function(data){
console.log(data);
$(bstory).text(data);
});
});
一切正常
的問題-有前一個前導空格data
在兩個地方-bstory和console
例如,如果列的內容是lorem ipsum(無空格) -我得到 lorem ipsum (含空格)
,如果我寫的data = data.trim()-沒有空間
,我肯定是沒有表列內的空間
請幫忙
uj5u.com熱心網友回復:
我會盡力解釋你遇到的問題。當您的 PHP 代碼執行時,您可能會在回顯之前和回顯輸出之后有一些空格、行和其他符號。將被退回。所以你應該做的事情是確保你在<?php標簽之前沒有任何空格或線條,并在回應你的回應后立即退出,比如 echo$st->fetchColumn(); exit;或類似的東西。
如果您將結果輸出為 JSON 字串,即將獲取的 DB 行轉換為 JSON 字串并將回應標頭設定為application/json; 比您data實際上是一個陣列或物件,并且在 JSON 解碼期間,$.post即使您有空格或其他所謂的空符號,它們也會自動剝離或忽略。對于 JSON 決議器,字串 is{}或 it is沒有顯著差異 {} ;
我希望我描述得很好。
現在您知道為什么將 JSON 作為回應傳遞比傳遞簡單字串更好。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/334624.html
標籤:javascript php 查询
