国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

AJAX POST和加號(hào)(+)——如何編碼?
P粉124070451
P粉124070451 2023-07-21 09:47:06
0
2
775

我通過(guò)AJAX發(fā)布一個(gè)表單字段的內(nèi)容到PHP腳本,并使用JavaScript來(lái)轉(zhuǎn)義(field_contents)。問(wèn)題是任何加號(hào)都被去掉了,取而代之的是空格。我怎么能安全地“編碼”加號(hào),然后適當(dāng)?shù)亍敖獯a”它在PHP方面?

P粉124070451
P粉124070451

全部回復(fù)(2)
P粉010967136

在JavaScript中試試:

encodeURIComponent()

PHP中:

urldecode($_POST['field']);
P粉674999420

在JS和PHP中使用encodeuriccomponent(),你應(yīng)該會(huì)收到正確的值。

注意:當(dāng)您在PHP中訪問(wèn)$_GET、$_POST或$_REQUEST時(shí),您正在檢索已經(jīng)解碼的值。

例子:

在你的JS中:

// url encode your string
var string = encodeURIComponent('+'); // "%2B"
// send it to your server
window.location = 'http://example.com/?string='+string; // http://example.com/?string=%2B

在你的服務(wù)器上

echo $_GET['string']; // "+"

只有原始的HTTP請(qǐng)求包含url編碼的數(shù)據(jù)。

對(duì)于GET請(qǐng)求,您可以從URI中檢索它。$_SERVER['REQUEST_URI']或$_SERVER['QUERY_STRING']。對(duì)于urlencoded POST, file_get_contents('php://stdin')

注:

Decode()僅適用于單字節(jié)編碼的字符。它不適用于整個(gè)UTF-8范圍。

eg:

text = "\u0100"; // ā
// incorrect
escape(text); // %u0100 
// correct
encodeURIComponent(text); // "%C4%80"

Note: "%C4%80" is equivalent to: escape('\xc4\x80')

這是在UTF-8中表示ā的字節(jié)序列(\xc4\x80)。因此,如果您使用encodeuriccomponent(),您的服務(wù)器端必須知道它正在接收UTF-8。否則PHP會(huì)打亂編碼。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板