簡體   English   中英

&PHP的帖子收到問題

[英]& php post receive problem

我的ajax請求是

ajaxRequest.send("var1=" + var1.value + "&var2=" + var2.value + "&var3=" + var3.value); 

但瀏覽器將請求發送為

var1= hello&var2= world&var3=1

php端接收數據作為發布

$variable1 = $_POST['var1'];
$variable2 = $_POST['var2'];
$variable3 = $_POST['var3'];

只有第一個變量接收數據。 這兩個變量不接收任何數據。

我知道發送請求的正確格式是

var1= hello&var2= world&var3=1 

但是,為什么瀏覽器附加了一些無用的字符,使php端無法識別已發送的內容?

使用urlencode會發生什么?

您可以先將數據字符串放入變量中,然后再輸入可驗證的urlencode並將該變量傳遞給ajaxRequest.send

問題是您的&符號在將請求發送到瀏覽器之前已編碼。 這樣,下一個變量將無法識別。 相反,第一個變量包含: hello&var2= world&var3=1 我不知道您使用的是哪個JavaScript庫,但是在我看來,您使用的是錯誤的函數參數(也許您需要注入對象而不是字符串?),或者函數對字符串的編碼錯誤。

jQuery的ajax方法為例,查詢參數作為對象傳遞,如下所示:

var data = { 'var1' : var1.value, 'var2' : var2.value };
$.ajax('/ajax/', { 'data': data});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM