-1

テキストエリアに「:))」を入れてajax経由で送信すると、「jQuery172039628539560362697_1345324072488」のような値がデータベースに入力されます。これを停止するにはどうすればよいですか?最初にjavascriptでテキストを解析して、javascriptコーディングの一部ではなく、テキストを認識させる必要がありますか?

これが私のテキストを取得する方法です

var message = $("textarea.message_thread").val();
var dataString = 'id=' + id + '&message=' + message;
// make ajax call

で送信

$.ajax( 
                        {  
                            type: "POST",  
                            url: "/inbox/instsend",  
                            data: dataString,
                            dataType: 'json',
                            success: function(results) {}

                        }
4

4 に答える 4

1

質問の下のコメントを参照してください。問題は、送信されたものdataStringが実際にはurlエンコードされた文字列であり、JSON対応またはJSONリテラル変数ではないことです。

したがって:

dataString = {id: id, message: message};

ここで、この問題を修正します。jQueryはそのオブジェクトで初期化された変数を受け取り、それをJSONにエンコードします。

于 2012-08-18T21:39:02.637 に答える
0

これは、クロスドメインAJAX呼び出しにJSONPを使用している場合、jQueryによって自動的に実行されます。この文字列をcallbackパラメータの値として送信する必要があります。

于 2012-08-18T21:14:47.543 に答える
0

入力をサニタイズし、制御コードをエスケープする必要があります-例:および)

于 2012-08-18T21:15:24.507 に答える
0

ここでPOSTを行っているので。これはうまくいくでしょう

var dataString = '{'+'id:' + id + 'message:' + message +'}'
于 2012-08-18T21:19:44.017 に答える