0

在我下面的代码片段中,我的 Ajax 将向 response.php 发送一些数据。如果我想通过 Ajax 发送更多数据,我应该如何进行?我想添加例如 user_id,如底部的 HTML 代码所示。

$(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。您所要做的就是使用有效负载创建一个字符串(在您的示例中附加到 myData)并将其发送到您的服务器。

于 2013-03-28T15:18:07.597 回答