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