0

以下のコード スニペットでは、Ajax がいくつかのデータを response.php に送信します。Ajax 経由でさらにデータを送信するにはどうすればよいですか? 下部の HTML コードに示されているように、たとえば user_id を追加したいと思います。

$(document).ready(function() {

    $("#FormSubmit").click(function (e) {
            e.preventDefault();
            if($("#contentText").val()==='')
            {
                alert("Du følger allerede denne bloggen");
                return false;
            }
            var myData = 'content_txt='+ $("#contentText").val(); 
            jQuery.ajax({
            type: "POST", 
            url: "assets/plugin/ajax-follow/response.php", 
            dataType:"text", 
            data:myData, 
            success:function(response){
                $("#responds").append(response);
                $("#contentText").val(''); 
            },
            error:function (xhr, ajaxOptions, thrownError){
                alert(thrownError);
            }
            });
    });

});

HTML

<div class="form_style">
<input type="hidden" name="content_txt" id="contentText" value="'.$user_info[u_id].'">
<input type="hidden" name="user_id" id="userid" value="'.$whotofollow[u_id].'">
<button id="FormSubmit">Følg</button>
</div>
4

3 に答える 3

0

JSONを使用する

$(document).ready(function() {

$("#FormSubmit").click(function (e) {
        e.preventDefault();
        if($("#contentText").val()==='')
        {
            alert("Du følger allerede denne bloggen");
            return false;
        }
      var myData = 'content_txt='+ $("#contentText").val(); //build a post data structure
      var userId = $("#user_id").val();
      var JsonData = {userId : userId,myData : myData};       // Build a JSON object 

        jQuery.ajax({
        type: "POST", // HTTP method POST or GET
        url: "assets/plugin/ajax-follow/response.php", //Where to make Ajax calls
        dataType:"JSON", // Data type, HTML, json etc.
        data : JsonData, //Form variables
        success:function(response){
            $("#responds").append(response);
            $("#contentText").val(''); //empty text field on successful
        },
        error:function (xhr, ajaxOptions, thrownError){
            alert(thrownError);
        }
        });
});

});
于 2013-03-28T15:09:41.123 に答える
0

次のように postData を手動でビルドできます。

var myData ={

content_txt:$("#contentText").val(),

user_id:$('#user_id').val()
}

しかし、jquery は、フォーム データを自動的に作成する方法を提供します。

var str = $("formabc").serialize();

サーバーに送信するすべての要素を id="formabc" のフォームでラップする必要があります

html を次のように変更します。

<div class="form_style">
<form id="formabc">
<input type="hidden" name="content_txt" id="contentText" value="'.$user_info[u_id].'">
<input type="hidden" name="user_id" id="userid" value="'.$whotofollow[u_id].'">
<button id="FormSubmit">Følg</button>
</form>
</div>
于 2013-03-28T15:14:17.020 に答える
0

JSON を使用する必要はありませんあなたがしなければならないのは、ペイロードを使用して String を作成し (例では myData に追加します)、それをサーバーに送信することだけです。

于 2013-03-28T15:18:07.597 に答える