1

name の select multiple タグがありますcity[]。ブラケットは、後で PHP の URL クエリ文字列内の[]配列を表すことになっています。

jQuery .serialize() を使用してフォーム値を取得し、AJAX 呼び出しのクエリ文字列を作成しています。ただし、 .serialize() が URL をエンコードしており、括弧を記述していないようです

私は取得する必要があります

index.php?city[]=METROPLOIS&city[]=GOTHAM

代わりに私は得ています

index.php?city%5B%5D=METROPLOIS&city%5B%5D=GOTHAM

名前だけのエンコードを停止する方法はありますか? 都市名にスペースが含まれている場合があるかもしれないので、それをエンコードする必要があります。

4

1 に答える 1

0

URL エスケープに慣れていないため、少し混乱していると思います。

しかし、これはPHPで完全に機能します。たとえば、次のprint_r($_GET)ように出力されます。

Array
(
    [city] => Array
        (
            [0] => METROPLOIS
            [1] => GOTHAM
        )

)

city配列として正しく解釈され、期待される値が含まれています。は、city%5B%5Dの有効な URL エンコード文字列であるためcity[]です。

于 2013-01-03T21:19:45.103 に答える