1. ホーム
  2. jquery

[解決済み] JQueryを使ってJSONデータを投稿するにはどうしたらいいですか?

2023-09-05 03:36:13

質問

同じサーバーにあるウェブサービスにJsonを投稿したいです。しかし、私はJQueryを使用してJsonを投稿する方法がわかりません。私はこのコードで試してみました。

$.ajax({
    type: 'POST',
    url: '/form/',
    data: {"name":"jonas"},
    success: function(data) { alert('data: ' + data); },
    contentType: "application/json",
    dataType: 'json'
});

しかし、このJQueryのコードを使用すると、データはサーバー上でJsonとして受信されません。これは、サーバーで期待されるデータです。 {"name":"jonas"} しかし、JQueryを使用すると、サーバーは name=jonas . または他の言葉で、それは"urlencoded"データであり、Jsonではありません。

JQueryを使用してurlencodedデータではなくJson形式のデータを投稿する方法はありますか?それとも、手動でajaxリクエストを使用しなければならないのでしょうか?

どのように解決するのですか?

オブジェクトを渡している ではなく JSON文字列ではありません。オブジェクトを渡すとき、jQueryは $.param を使用して、オブジェクトを名前と値のペアにシリアライズします。

データを文字列で渡すと、シリアライズされません。

$.ajax({
    type: 'POST',
    url: '/form/',
    data: '{"name":"jonas"}', // or JSON.stringify ({name: 'jonas'}),
    success: function(data) { alert('data: ' + data); },
    contentType: "application/json",
    dataType: 'json'
});