1. 程式人生 > >使用ajax 進行post提交json資料到後臺php,但是後臺php收不到資料。

使用ajax 進行post提交json資料到後臺php,但是後臺php收不到資料。

當 contentType 為 application/x-www-form-urlencoded 時(預設值)
才能用 $_POST 得到傳入的資料。但是使用application/json;charset=utf-8
不是 php 所能識別的型別宣告,不能替你解析。所以只能用 php://input 取得,並用 parse_str 自行解析

而形如 a=1&b=2&c=3 這樣的資料,分明就不是 json 格式。即便 php 能識別 application/json 型別,也不能解析你這樣的資料。

當然還有一種方式:

前臺(部分):

$.ajax({
url:'http://127.0.0.1/dist/example/qian.php',
type:'POST',
    contentType:'application/json;charset=utf-8',
dataType:'json',
    data: JSON.stringify({images:"dadad"}),

後臺(部分):

header('Content-type: application/json');

$data = json_decode(file_get_contents("php://input"), true);
$user = $data["images"];

相關推薦

使用ajax 進行post提交json資料後臺php但是後臺php資料

當 contentType 為 application/x-www-form-urlencoded 時(預設值)才能用 $_POST 得到傳入的資料。但是使用application/json;chars

通過Ajax進行Post提交Json資料

js程式碼 $.ajax({ type : "POST", url : js_path + "/maintainAdd/add", data : JSON.stringify(ma

通過Ajax進行POST提交JSON型別的資料到SpringMVC Controller的方法

現在在做的專案用到了SpringMVC框架,需要從前端angular接收請求的JSON資料,為了測試方便,所以直接先用AJAX進行測試,不過剛開始用平時用的ajax方法,提交請求會出現415或者400錯誤,經過研究,終於可以了,現在做個總結。 js程式碼: [j

ajax使用POST提交json資料

$(document).ready(function () { var schoolList={   "pageCount": "2",   "pageIndex": "1",   "sign":

php中使用ajax進行前後端json數據交互

前端 array char 取數 方式 註冊界面 test 傳輸 created (最近在學習ajax,所以想自己總結一下在PHP中如何使用ajax技術!) 一、ajax註意點:   1、原理圖:(來自韓順平ajax視頻)          2、ajax返回數據類型

【httpclient編寫爬蟲】post提交json資料和普通鍵值

寫在開頭 在開發爬蟲的過程中,難免碰到post提交的問題。 本文比較了兩種資料提交方式,並且使用httpclient模擬網站post提交兩種資料。 我見過的post提交方式有兩種: 普通的鍵值對提交方式; 提交json資料。 我所使用的httpcl

SpringMVC實戰(五)-處理POST提交JSON資料

1.表單提交 2.JSON串 1、客戶端請求 String url = "http://localhost:8080/order/create"; String data = "{\"id\":3, \"cat

struts2 資料傳輸問題---“POST方式提交資料量過大後臺接收資料”問題的解決

最近做用struts2做專案的時候,發現一個問題,就是當通過POST方式提交資料量過大,在後臺接收不到資料,後來通過檢視資料,發現tomcat預設傳輸最大的資料限制為2M,最後的解決辦法是設大tomcat的conf下的server.xml中8080Connector的max

利用ajax進行post傳值登錄QQ和密碼代碼

write pos .org web 後臺 .config lec rom ace <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"&

ajaxpost提交方式下載文件的處理(轉)

brush conf xtend targe append move eth val 文件 ajax是不能直接下載文件的,所以一般都是通過一個超鏈接的形式去下載一個文件 但是當牽扯到需要發送很多數據到服務器上再下載的時候超鏈接的形式就有些不好看了, /*=========

yii2 ajaxpost提交問題

第一種解決辦法是關閉Csrf 1、區域性關閉:public function init(){ $this->enableCsrfValidation = false; } 2、全域性關閉:在配置檔案中(main-local.php或web.php)設定為"enableCsrfValid

RequestBody只能用一次angularjs用post提交json請求

public JsonModel register(@RequestBody User user, @RequestBody String code, HttpSession session) { //驗證碼校驗 if(session.getAttrib

ajaxpost提交引數長度超出限制的解決辦法

tomcat 下 post提交預設最大 2M,修改maxPostSize值可解決引數長度超出限制。 修改tomcat檔案目錄下 conf/service.xml 檔案  tomcat 版本 >= 7.0.63  maxPostSize 必須小於 0 ,否則會出現 引

測試jquery中ajaxpost提交與springController接收的一些疑問

[email protected] String型別可接收 ajax中data為物件的資料,並以key=value(utf-8編碼)展現: ajax提交: data:{aa:"你好 中國 中國"}, contentType

ajaxpost提交和get提交實現前後端互動

(一)json格式(兩種) 物件格式:{"key1":obj,"key2":obj,"key3":obj...} 陣列/集合格式:[obj,obj,obj...] (二)json格式書寫練習 (1) <!DOCTYPE HTML PUBLIC "-/

使用jquery中的ajax進行post請求時報錯提示[object XMLHttpRequest]

問題描述:使用jquery進行ajax post請求時,報錯,提示[object XMLHttpRequest],在谷歌瀏覽器中發現此問題,IE7/8/9/10都沒問題 現象1: 現象2: 同時在事件檢視器中也相應發現如下事件內容: Event code: 3005 E

Ajax 進行Post多引數傳值

用Ajax 進行Post傳值 以下程式已除錯通過: <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled D

火狐firefox進行post提交測試

1,開啟火狐瀏覽器,將測試url複製到位址列。按F12,進行連線。 2,點選連線:再點選“編輯與重發” 3,請求頭中加入如下一行: Content-Type: application/json; ch

python post提交json 返回json

這幾天一直在弄python爬蟲,已經把資料都抓取下來了,開始呼叫後臺API,突然發現一個很頭疼的問題,就是使用POST提交json資料。 在百度、谷歌搜尋了好多關於這方面的內容,可是執行起來都是各種錯誤。 最後終於在文件中看到了,並且靠自己的一點點實驗,終於可以弄好了。

php的老兄傳給客戶端[object object]資料如何解析他堅稱是json...

一般伺服器傳給客戶端的資料格式是json 。然後這個是js觸發之後,伺服器傳過來的,據說沒有jsonformat。。。。 然後就是這個東東: 直接列印或者強轉並不行,需要轉成dictionary來解析,toDictionary 這個方法是是Frameworks中的:Ja