?php
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了安遠(yuǎn)免費(fèi)建站歡迎大家使用!
header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//這里獲取的直接就是數(shù)組了,不需要用到j(luò)son_decode
echo $d['doing'];
//print_r($d);
exit;
}
?
script src="js/jquery-1.7.2.min.js"/script
script type="text/javascript"
$(document).ready(function() {
$("#xx").click(function(){
var url = "test.php";
var str ="{'doing':'createvote','type':'type','num':'num','votetheme':'votetheme','creater':'loginname'}";//json格式字符串
var data = eval('('+str+')');//轉(zhuǎn)換成數(shù)組對(duì)象,不加這步,那么PHP獲取的是字符串。
$.post(url, {'data': data}, function(res) {//注意jquery的$.post的第2個(gè)參數(shù)必須是鍵值對(duì)形式
alert(res);
});
});
});
/script
input id="xx" type="button" value="點(diǎn)擊"
1、首先我們創(chuàng)建一個(gè)test的php文件。
2、在里面添加html需要的代碼。
3、我們?cè)诶锩嫣砑觠s腳本,定義一個(gè)a變量100。
4、現(xiàn)在我們?cè)诘撞刻砑觩hp中代碼,其中定義一個(gè)b變量默認(rèn)為0,準(zhǔn)備用它來(lái)接收js中的a的值。
5、接著我們?cè)趕cript里面使用writeln輸出a,并賦值給php中的變量b,在最后echo輸出查看b中的值。
6、在瀏覽器中打開這個(gè)php文件會(huì)直接echo出js中變量a的數(shù)值為100,到此php獲得js中的變量完成。
你這里的xheditor編輯器我并沒有用過,但是php echo后的內(nèi)容要到前端可以使用ajax,不過我只會(huì)jquery的ajax,
script
$.post('index.php','',function(data){
alert(data);
});
/script
index.php中echo的內(nèi)容會(huì)通過$.post方法中的data參數(shù)傳入,傳入后用js進(jìn)行json解碼,然后再處理就可以了
方法1、最常見的方法是:$_post['fieldname'];
說(shuō)明:只能接收content-type:
application/x-www-form-urlencoded提交的數(shù)據(jù)
解釋:也就是表單post過來(lái)的數(shù)據(jù)
方法2、file_get_contents("php://input");
說(shuō)明:
允許讀取
post
的原始數(shù)據(jù)。
和
$http_raw_post_data
比起來(lái),它給內(nèi)存帶來(lái)的壓力較小,并且不需要任何特殊的
php.ini
設(shè)置。
php://input
不能用于
enctype="multipart/form-data"。
解釋:
對(duì)于未指定
content-type
的post數(shù)據(jù),則可以使用file_get_contents(“php://input”);來(lái)獲取原始數(shù)據(jù)。
事實(shí)上,用php接收post的任何數(shù)據(jù)都可以使用本方法。而不用考慮content-type,包括二進(jìn)制文件流也可以。
所以用方法二是最保險(xiǎn)的方法
方法3、$globals['http_raw_post_data'];
說(shuō)明:
總是產(chǎn)生
$http_raw_post_data
變量包含有原始的
post
數(shù)據(jù)。
此變量?jī)H在碰到未識(shí)別
mime
類型的數(shù)據(jù)時(shí)產(chǎn)生。
$http_raw_post_data
對(duì)于
enctype="multipart/form-data"
表單數(shù)據(jù)不可用
如果post過來(lái)的數(shù)據(jù)不是php能夠識(shí)別的,可以用
$globals['http_raw_post_data']來(lái)接收,
比如
text/xml
或者
soap
等等
解釋:
$globals['http_raw_post_data']存放的是post過來(lái)的原始數(shù)據(jù)。
$_post或$_request存放的是
php以key=value的形式格式化以后的數(shù)據(jù)。
但$globals['http_raw_post_data']中是否保存post過來(lái)的數(shù)據(jù)取決于centent-type的設(shè)置,即post數(shù)據(jù)時(shí)
必須顯式示指明content-type:
application/x-www-form-urlencoded,post的數(shù)據(jù)才會(huì)存放到
$globals['http_raw_post_data']中