借著這個時間學習了一下ajax,使用jquery的方法。
前端如下:
$("#submit").click(function() {
{var y=$("#year").val(); var m=$("#month").val();
// $.get("ajax_data.php",
$.post("ajax_data.php",
// {year:"2019",month:Math.random()},
{year:y,month:m,mh:Math.random()},
function(data){
$("#right_below").html(data);
// alert (data);
var str=JSON.stringify(data);
var str1=str.replace(/[\\ \/=]/g,"");
alert(str1);
});
}
return false;
}
);
往后臺傳個年和月的值,然后后臺讀sql獲得值后,json_encode后echo出來,給到前端js:(php里有一點點hmtl,后面js在alert時,把它都給弄出來了
)
<html xmlns="http://www.w3.org/1999/html">
<?php
session_cache_limiter('private, must-revalidate');
session_start();
?>
<head>
<meta charset="utf-8">
</head>
<?php
$year=$_POST['year'];
$month=$_REQUEST['month'];
// $cur_year=(date("Y")); //取現在的年
// $cur_mon=(date("m")); //取現在的月
$cur_year=$year; //取現在的年
$cur_mon=$month;
$sal=new Sale($conn,$params,$options);
$sal_qty=$sal->get_sal_qty($cur_year,$cur_mon,'',1);
//echo $cur_year.$cur_mon;
echo $year, $month;
//print_r( $sal_qty);
$a=json_encode($sal_qty);
echo $a;
return $a;
如下圖:
網頁上是顯示出來的,我又alert個視窗,這個alert里怎么還有html的代碼呀,
同樣的前兩天在做小程式的wx.request()時,獲取回來的值除了echo的值外,也有這些html代碼,這是什么原因呢?
下面的圖是使用jquery將讀回來的data顯示在html上,這里沒有出來html代碼。

但是下面這個alert資料,則把html前面的幾行代碼給弄了出來,這是什么原因呢?

還有小程式里,也是這樣,把html碼也給弄過來了??
另外,服務器端php或是java往前端傳資料庫的多維陣列資料,一般是不是這樣做呀(轉成json傳過來),自學無人教,都是摸索,所以有時經常走彎路,有熟悉的指點一下,謝謝!
uj5u.com熱心網友回復:
ajax獲取php檔案,獲取的就是php檔案向前端輸出的源代碼,所以php中只要有一個<?php ?>標簽并用echo輸出json資料就可以了,不要有其它html標簽。
<?php
session_cache_limiter('private, must-revalidate');
session_start();
$year=$_POST['year'];
$month=$_REQUEST['month'];
// $cur_year=(date("Y")); //取現在的年
// $cur_mon=(date("m")); //取現在的月
$cur_year=$year; //取現在的年
$cur_mon=$month;
$sal=new Sale($conn,$params,$options);
$sal_qty=$sal->get_sal_qty($cur_year,$cur_mon,'',1);
//echo $cur_year.$cur_mon;
//print_r( $sal_qty);
$a=json_encode($sal_qty);
echo $a;
?>
uj5u.com熱心網友回復:
原來是這樣啊
那小程式的回復請求,也是一樣嘍??
還有,一般php給前端資料,是不是就是這樣給?轉成json資料?
但我json.encode轉,為什么都是[ ],都沒有{ }呢??
uj5u.com熱心網友回復:
當php陣列的屬性名是從0開始的連續數字或沒有屬性名時,默認轉換成 []當php陣列的屬性名是字串或非連續數字時,默認轉換成 {},也可以在json-encode()函式的第二個引數設定 常量JSON_FORCE_OBJECT 強制轉換成 {}
具體的你可以看看php官方手冊
https://www.php.net/manual/zh/function.json-encode.php
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/96950.html
標籤:JavaScript
上一篇:求助大佬用jq實作tab切換功能,所獲取的界面要求通過ajax訪問一個本地json檔案,求大佬幫幫忙,急!!
下一篇:安裝go語言開發環境
