$httpParamSerializerJQLike
の相違点は誰でも説明できますか?encodeURIComponent
?
$httpParamSerializerJQLike
でパラメータをシリアル化した後にJSON.Stringify()
を実行する必要がありますか?私の理解では、$httpParamSerializerJQLike
はAngularのバージョンencodeURIComponent
であり、JSON.Stringify
を内部的に実行していることが分かります。
$httpParamSerializerJQLike
の相違点は誰でも説明できますか?encodeURIComponent
?
$httpParamSerializerJQLike
でパラメータをシリアル化した後にJSON.Stringify()
を実行する必要がありますか?私の理解では、$httpParamSerializerJQLike
はAngularのバージョンencodeURIComponent
であり、JSON.Stringify
を内部的に実行していることが分かります。
$httpParamSerializerJQLike
は、角度のバージョンがencodeURIComponent
ではありません。 $httpParamSerializerJQLikeのドキュメントから
:
代替jQueryののparam()メソッドのロジックを以下の$ HTTPのparamsシリアライザ。
$httpParamSerializerJQLike
は、URLクエリ文字列またはAjaxリクエストでの使用に適した配列またはプレーンオブジェクトのシリアライズされた表現を作成するために使用されます。これは、URIのクエリパラメータを定義するために使用されます。その使用は、配列と単純なオブジェクトに限られています。例えば
:
$httpParamSerializerJQLike({a: 'two'}); // "a=two"
$httpParamSerializerJQLike('abc'); // "0=a&1=b&2=c"
あなたは、文字列'abc'
は文字の配列のように扱われていることがわかります。
文字のUTF-8エンコーディングを表す1つ、2つ、3つ、または4つのエスケープシーケンスによって特定の文字の各インスタンスを置き換えることによって統一リソース識別子(URI)成分をコードします。例えば
:
encodeURIComponent({a: 'two'}); // "%5Bobject%20Object%5D"
encodeURIComponent('abc'); // "abc"
encodeURIComponent('abc abc abc'); // "abc%20abc%20abc"
あなたはencodeURIComponent
は、適切なエスケープシーケンスで特殊文字を置き換え、文字列のような文字列を処理しないことがわかります。
こんにちはgnerkus、ご返信ありがとうございます。 $ httpParamSerializerJQLikeのロジックを経て、ecodeURIComponentを適用するだけでなく、シリアライズすることが分かりました。この単一の関数は2つのジョブを実行しています。あれはとてもかっこいい。 –