2017-08-20 6 views
0

私はajaxを練習していて、サーバーに大量のデータを送信したいとします(たとえば、最大20個のタグにできる投稿のタグを作成したい)。現在、私はすべてのタグをそれらの間の特定の記号で連結し、サーバーでそれをフィルターに掛け、再び多くのタグに変換しますが、それは自然な方法だとは思いません。だから、30〜40のエントリをajaxを使ってサーバに最適に送る方法は最適です。ajaxを使用してサーバーに非常に大量のデータを送信する方法

UPDATE(人々のいくつかは、私はJSにコード例を示しています示唆したように):

$(document).ready(function(){ 
    var tagsToSend = "tag1%tag2%tag3%tag4%tag5%tag6%tag7%tag8%tag9%tag10%tag11%tag12%tag13"; 
    $.ajax({ 
     url: "test.php", 
     method: "POST", 
     data: { 
      tags: tagsToSend 
     }, 
     success: function(result){ 
      alert(result) 
     } 
    }); 
}) 

だから、基本的にサーバーに私は与えられたタグ文字列を反復処理し、各タグをフィルタリングします。そして私はより自然な方法が欲しい。

+0

JSONを使用する必要があります。 – SLaks

+0

@SLaksええ、しかし、私はJSONに40のエントリを入れることができますか? (JSON全体を手作業で作ることを除いて) – Banned

+0

@Banned:あなたは 'JSON.stringify'を探しています。 – SLaks

答えて

1

より良い方法は、タグをjson配列として送信し、でないことです.GETパラメータです。

var postData = {}; 
postData['tagsToSend'] = ["tag1", "tag2", ...]; 

そして、あなたのAjaxのコンフィグ内側:このような何か今

data: JSON.stringify(data) 

、あなたのPHPファイルにJSONを取得し、PHPの配列にそれを解析することができます。 これは、をより読みやすく、きれいにするのに役立ちますリクエストをサーバーに送信します。

+0

そして、データの代わりにJSON.stringify(postData)にpostDataを置くことはできません。このように: $ ajax ...、 postData、 ... – Banned

+0

@Banned私の経験は限られています。しかし、私はあなたのデータに依存していると思います。あなたがアンケートを持っていて、それをサーバーに送る場合は、2つの選択肢があります。 post/getを使ってすべての回答を送るか、post/getを使って "survey object/array"を送る。調査は非常にオブジェクト的なので、おそらくオブジェクトを作成します。これをあなたのケースに適用すると、同様のデータがたくさんあるので、非常に「配列のような」ものであり、おそらくpost/get(ここではハメドが表示されているように)を介して配列を送るべきです。 – Tyler

関連する問題