[英]& 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.