ajax请求php保存数据格式,jQuery ajax与php进行数据交互(数据格式问题)
近期涉及到 jquery 開發,因此對jQuery做了一些初步的學習,jquery功能相對比較強大些,尤其是對ajax支持,jquery ajax與服務器交互,這種搭配使得“局部刷新,異步更新”交互方式比單純的ajax,有了很大的提高,大大改善了用戶體驗。
1.關于Jquery 和 ajax 就不做介紹了。
下面談談,本人在JQuery ajax + php 開發時候遇到的一些問題。
不多說,先看代碼:
html 界面,這個可以理解為客戶端
無標題文檔$(document).ready(function(e) {
var count = 2;
var postdata = { "case" : count };
$("#button").click(
function(){
alert("test was clicked" + postdata["case"]);
$.get("ajaxtest.php",postdata,
function(data){
$("#showtext").html(data);
alert("調用完畢");
});
}
);
});
2.php代碼,這個可以理解為服務器端。
//這里兩句話很重要,第一講話告訴瀏覽器返回的數據是什么格式
header("Content-Type: text/html;charset=utf-8");
//告訴瀏覽器不要緩存數據
header("Cache-Control: no-cache");
echo "hello serivce";
$time = $_GET["case"];
switch ($time){
case 2:
printf($time);
echo "第1個完畢 "."time is".$time;
sleep(1);
break;
case 1:
echo "第0個完畢";
break;
default:
echo "執行遇到意外";
}
?>
3. 顯示結果
整個過程是點擊按鈕在下面的div里顯示php頁面傳回來的數據。
這是jquery使用ajax的函數
$.get("ajaxtest.php",postdata,
function(data){
$("#showtext").html(data);
alert("調用完畢");
});
注:這個函數中沒有設置數據格式參數,這點很重要。
funciont(data){//...}
這里的data參數就是服務器返回來的數據,這個參數可以是任意合法字符,如:
funciont(aaa){//...}
本人遇到的問題是 數據不顯示。
這個問題本來很簡單,但是本人在開發時候,把php的頭部文件開始時候設置成為了 json,如下:
header("Content-Type: text/json;charset=utf-8");(注:這樣設置會有問題)
正確的為:header("Content-Type: text/html;charset=utf-8");
這樣設置,導致一直在界面沒有顯示數據。
鼓搗了很久,以為是ajax函數的原因,看到官方這個函數使用里面有數據格式的設置,可是怎么弄都不起作用,還是沒顯示。
所以干脆先不設置格式,從頭看什么原因,結果順利顯示數據。
關于json格式的和非json格式的使用,請看另一篇博文。
總結
以上是生活随笔為你收集整理的ajax请求php保存数据格式,jQuery ajax与php进行数据交互(数据格式问题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java并发性是指什么_java – 什
- 下一篇: php使用referer,php中HTT