1

リダイレクトページなしでjquery POSTを使用して大きなデータを送信する方法を知りたいですか? モバイルチャットを作成し、ユーザーアプリとサーバーを接続するプロジェクトがあり、JSON を使用しています。jsonGet が大きなデータを処理できないことがわかっているため、これは jquery get json スクリプトのようです。

注: bigNumber には 8000 文字あります。

$.getJSON('process.php?input='+bigNumber, function(data) {
    $.each(data.Chats, function(i,output)
    {
        $("#data").append(output.chat);
    });
});

これは、getJSON を使用して大きな数を送信したときに得られるものです: 414 (Request-URI Too Large)

というわけで、bigNumberを送信した後、process.phpからjsonデータとしてレスポンスを取得し、htmlのbodyに追加します。

//--- これが私のコードです。

htmlファイル

<script src="jquery.min.js"></script>
<script>
$(function(){
    $("#senddata").click(function() {
        $.ajax({
            dataType: "json",
            url: "process.php",
            data: { input:$("#bigNumber").val() },
            success: function(data) {
                $.each(data.Chats, function(i,output)
                {
                    $("#data").append(output.key);
                });
            },
            method: "POST"
        });
    });
});
</script>
<div id="data"></div>
<input type="text" id="bigNumber"/>
<button id="senddata">Send</button>

これはprocess.phpです

header('Content-type: application/json');

$key = $_POST["input"];

$simpan_array = array();

$chat = array();
$chat["key"] = $key;

array_push($simpan_array, $chat);

echo json_encode(array("Chats" => $simpan_array));

テキストボックスに入力して「送信」ボタンを押しても、何も起こりません。どうしたの?


今調べたところ、process.php に表示されている json 形式のエラーでした。

4

3 に答える 3

2

代わりに POST リクエストを使用する必要があります。はgetJSON()の単なるファサードであるためajax()、変換は非常に簡単です。

$.ajax({
  dataType: "json",
  url: "process.php",
  data: { input:bigNumber },
  success: function(data) {
    $.each(data.Chats, function(i,output)
    {
        $("#data").append(output.chat);
    });
  },
  method: "post"
});
于 2013-04-17T04:25:51.473 に答える
1

使用する$.post

$.post('process.php',{input: bigNumber}, function(data) {
  $.each(data.Chats, function(i,output)
  {
    $("#data").append(output.chat);
  });
},'JSON');
于 2013-04-17T04:27:17.717 に答える
0

チャット アプリケーションに websockets を使用しようとできない理由は、このページ Web ソケット サーバーまたはHTML5 WebSocket の紹介を参照してください。

于 2013-04-17T05:30:09.867 に答える