POST リクエストの contentType は application/json に設定されていますが、リクエストはデータの json を文字列に変換しますか? 神に教えを求める理由は何ですか? コードは以下のように表示されます
パケットキャプチャのリクエスト
参考:jQuery.ajax() 文档
contentType (デフォルト: 'application/x-www-form-urlencoded; charset=UTF-8') タイプ: ブール値または文字列 サーバーにデータを送信するときは、このコンテンツ タイプを使用します。デフォルトは「application/x-www-form-urlencoded; charset=UTF-8」で、ほとんどの場合はこれで問題ありません。 content-type を $.ajax() に明示的に渡すと、(データが送信されない場合でも) 常にサーバーに送信されます。 jQuery 1.6 以降では、false を渡して jQuery にコンテンツ タイプ ヘッダーを設定しないように指示できます。注: W3C XMLHttpRequest 仕様では、文字セットは常に UTF-8 であると規定されています。別の文字セットを指定しても、ブラウザにエンコーディングの変更は強制されません。注: クロスドメイン リクエストの場合、コンテンツ タイプを application/x-www-form-urlencoded, multipart/form-data, or text/plain 以外に設定すると、ブラウザーがプリフライト OPTIONS リクエストをサーバーに送信します。
contentType (デフォルト: 'application/x-www-form-urlencoded; charset=UTF-8')
タイプ: ブール値または文字列
サーバーにデータを送信するときは、このコンテンツ タイプを使用します。デフォルトは「application/x-www-form-urlencoded; charset=UTF-8」で、ほとんどの場合はこれで問題ありません。 content-type を $.ajax() に明示的に渡すと、(データが送信されない場合でも) 常にサーバーに送信されます。 jQuery 1.6 以降では、false を渡して jQuery にコンテンツ タイプ ヘッダーを設定しないように指示できます。注: W3C XMLHttpRequest 仕様では、文字セットは常に UTF-8 であると規定されています。別の文字セットを指定しても、ブラウザにエンコーディングの変更は強制されません。注: クロスドメイン リクエストの場合、コンテンツ タイプを application/x-www-form-urlencoded, multipart/form-data, or text/plain 以外に設定すると、ブラウザーがプリフライト OPTIONS リクエストをサーバーに送信します。
application/x-www-form-urlencoded
multipart/form-data
text/plain
一般的にはapplication/x-www-form-urlencoded,也就是默认值,上传文件通常是用 multipart/form-data,现在很多使用 JSON 接口的也用后面这种。text/plain私が平時に得られるものは多くありません。
リーリー
使用されるデータ形式
簡単に言うと、リクエストされたデータはxxxタイプとして扱われます。 同様に、dataType はサーバーから返されたデータを xxx タイプとして扱います。
http で送信されるデータはすべて文字列ですが、サーバーはデータを受信するときに contentType に応じてさまざまな方法で文字列を解析します。オブジェクトは http だけでなくメモリ内にのみ存在でき、ネットワーク上で送信されるすべてのデータは文字列に基づいています。
まず第一に、実際に POST リクエストを使用している場合、 POST はリクエストをシリアル化しないため、これは GET リクエストであるように見えます。パラメータ
contentType の意味について話しましょう?
ajax の contentType は HTTP リクエスト ヘッダー セットです。このヘッダーの目的は、リクエスト パラメーターがどのような形式であるかをサーバーに伝えることです。対応する形式に従って処理する必要があります。 デフォルトは「application/x-www-form-urlencoded; charset=UTF-8」で、これは通常のフォーム送信の形式です。もちろん、「application/json」などのようにオーバーライドすることもできます。サーバーはそれを json リクエスト パラメーターに直接取得できます。キー値を 1 つずつ設定する代わりに
これはリクエストヘッダーの contentType を変更するだけであり、受信するサーバー応答の内容とは何の関係もありません。
これを追加すると、json形式でデータを取得できます。
参考:jQuery.ajax() 文档
一般的には
补充application/x-www-form-urlencoded
,也就是默认值,上传文件通常是用multipart/form-data
,现在很多使用 JSON 接口的也用后面这种。text/plain
私が平時に得られるものは多くありません。リーリー
使用されるデータ形式
簡単に言うと、リクエストされたデータはxxxタイプとして扱われます。
同様に、dataType はサーバーから返されたデータを xxx タイプとして扱います。
http で送信されるデータはすべて文字列ですが、サーバーはデータを受信するときに contentType に応じてさまざまな方法で文字列を解析します。オブジェクトは http だけでなくメモリ内にのみ存在でき、ネットワーク上で送信されるすべてのデータは文字列に基づいています。
まず第一に、実際に POST リクエストを使用している場合、
POST はリクエストをシリアル化しないため、これは GET リクエストであるように見えます。パラメータ
contentType の意味について話しましょう?
ajax の contentType は HTTP リクエスト ヘッダー セットです。このヘッダーの目的は、リクエスト パラメーターがどのような形式であるかをサーバーに伝えることです。対応する形式に従って処理する必要があります。
デフォルトは「application/x-www-form-urlencoded; charset=UTF-8」で、これは通常のフォーム送信の形式です。もちろん、「application/json」などのようにオーバーライドすることもできます。サーバーはそれを json リクエスト パラメーターに直接取得できます。キー値を 1 つずつ設定する代わりに
これはリクエストヘッダーの contentType を変更するだけであり、受信するサーバー応答の内容とは何の関係もありません。
これを追加すると、json形式でデータを取得できます。
リーリー