各位大大好
小弟目前遇到一個奇怪的現象
先上code
前端
$(document).on("change","[name='size_choice']",function () {
var item_name = $(this).attr('data-name');
$.ajax({
url: "../ajax.php",
method: "POST",
data: {
supply_size : $(this).val(),
item_name : item_name,
size_choice_chk : true,
},
dataType: "json",
success: function (response) {
console.log(response);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR + ' ' + textStatus + ' ' + errorThrown);
},
});
})
後端
if (filter_input(INPUT_POST, 'size_choice_chk')) {
$supply_size = filter_input(INPUT_POST, 'supply_size');
$item_name = filter_input(INPUT_POST, 'item_name');
$supply_sql = "select supply_price, supply_stock, supply_applylimit_qty, supply_return, supply_setempno, supply_qty
from work_supply_datatbl w
inner join classtbl c using(class_no)
where w.data_stop = 'N' and c.data_stop = 'N' and w.supply_name = '$item_name' and w.supply_size = '$supply_size'";
//$link是pdo連結 確定正常可連
//fn_bind是自己寫的function(prepare + execute)
$supply_query = $link->fn_bind($supply_sql);
$supply = $supply_query->fetch(PDO::FETCH_ASSOC);
$return_data_array = array(
"supply_price"=>$supply['supply_price'],
"supply_stock"=>$supply['supply_stock'],
"supply_applylimit_qty"=>$supply['supply_applylimit_qty'],
"supply_return"=>$supply['supply_return'],
"supply_setempno"=>$supply['supply_setempno'],
"supply_qty"=>$supply['supply_qty']
);
var_dump($return_data_array);
傳回資料
由於網頁會擋(要把單引號拿掉)
<pre>
Array
(
[supply_price] => '>'
[supply_stock] => '>'
[supply_applylimit_qty] => '>'
[supply_return] => '>'
[supply_setempno] => '>' 90169
[supply_qty] => '>'
)
</pre>
1.首先我想請問 為何會出現pre標籤?
2.再來就是 為什麼陣列的 > 會被替換掉 這我一直想不通 照理來說後端就應該成功存呈陣列了吧(要做json_encode當然更不行了QQ)
........(如何自刪?)
Array
(
[supply_price] => '>'
[supply_stock] => '>'
[supply_applylimit_qty] => '>'
[supply_return] => '>'
[supply_setempno] => '>' 90169
[supply_qty] => '>'
)
這不是JSON格式啊!......
1.首先我想請問 為何會出現pre標籤?
2.再來就是 為什麼陣列的 > 會被替換掉 這我一直想不通 照理來說後端就應該成功存呈陣列了吧(要做json_encode當然更不行了QQ)
其實,你這兩個問題。可能都是同一個原因。
不過原因並不在你目前po的程式碼上,而是在其它地方。
目前我得先知道幾件事。
你最後的結果是直接在網頁上看的?
還是在
success: function (response) {
console.log(response);
},
這邊看的。
因為就目前唯一有看到的問題,是你的輸出並非是json格式。
但你的ajax是宣告接json格式。
我擔心你會誤解了陣列傳送的問題。