PHP接收前端各種bug傳值整理

2021-09-13 02:23:53 字數 1940 閱讀 7001

header('access-control-allow-origin:*');

var_dump($_post);

exit;

$.post('', , function(data, status) );
結果:

array(1)
**:

$.post('', , function(data, status) );
結果:

array(1)
$.post('', , function(data, status) );
結果:

array(1)
$.post('', , function(data, status) );
結果:

array(0)
$.post('', , function(data, status) );
結果:

array(0)
$.post('', 

}, function(data, status) );

結果:

array(0)
$.post('', ,

"test2": {}

}, function(data, status) );

結果:

array(0)
$.post('', ,

"test2":

}, function(data, status) );

結果:

array(1) 

}

$.post('', ]

}, function(data, status) );

結果:

array(0)
$.post('', ]]

}, function(data, status) );

結果:

array(0)
$.post('', , function(data, status) );
結果:

array(1)
$.post('', , function(data, status) );
結果:

array(1)
$.post('', , function(data, status) );
結果:

array(1)
用抓包工具發現

http請求裡面並不會傳送"無效的"字段——和{},所以不是php丟棄了,而是沒收到;

當傳的值是js裡的null,會轉換成空字串,http請求裡面是test=,所以php接收到的test是個空字串;

http協議不能表示值是什麼型別,所以php只能什麼都當做string

php對於接收到的每乙個值,會轉換成字串變數

php對於接收到的,之所有會接收不到是因為被一系列規則過濾掉了

以上結論是在jq和php7之下驗證的,其他環境不一定保證正確,之後可以試驗使用curl傳送資料試試。

[-] 用curl傳送post測試

PHP接收前端傳值各種情況整理

header access control allow origin var dump post exit post function data,status 結果 array 1 post function data,status 結果 array 1 post function data,sta...

前端傳值後端接收不到 前端架構模式 支援前端的後端

英文 譯文 它是什麼?後端到後端的體系結構模式描述了乙個世界,其中每個客戶端應用程式都有自己的伺服器端元件 特定前端的後端。如果您有多個具有完全不同需求且都消耗相同基礎資源的客戶端介面,則此模式非常適用。現實世界中最常見的示例是同時具有web和移動客戶端的應用程式。要了解為什麼 後端對前端 有用,讓...

前端ajax非同步傳值以及後端接收引數的幾種方式

通過get提交方式,將引數在鏈結中以問號的形式進行傳遞。前台傳值方法 觸發該方法呼叫ajax function testajax yourdata 後端 後台接值方法 yoururl responsebody requestparam yourdata 是必不可少的,因為他指定了鏈結中的引數名稱 p...