如何通过Ajax发送多个数据字段?

dea*_*ons 125 sql ajax jquery

我被困了:我正在尝试使用AJAX提交表单,但我找不到通过我的AJAX调用发送多个数据字段的方法.

$(document).ready(function() {
  $("#btnSubmit").click(function()  {
    var status = $("#activitymessage").val();
    var name = "Ronny";
    $.ajax({
      type: "POST",
      url: "ajax/activity_save.php",
      **data: "status="+status+"name="+name"**,
      success: function(msg) {...
Run Code Online (Sandbox Code Playgroud)

我尝试过各种各样的东西:

data: {status: status, name: name},
Run Code Online (Sandbox Code Playgroud)

甚至这样的东西只是为了测试目的:

data: "status=testing&name=ronny",
Run Code Online (Sandbox Code Playgroud)

但无论我尝试activity_save.php什么,我的SQL中都没有任何东西.

那么,在我的AJAX调用中放置更多行数据的正确语法是什么?

Avi*_*tus 232

正确的语法是:

data: {status: status, name: name},
Run Code Online (Sandbox Code Playgroud)

如此处所述:http://api.jquery.com/jQuery.ajax/

因此,如果这不起作用,我会提醒这些变量以确保它们具有值.

  • 我只是指出正确的语法,并说问题必须是其他东西而不是语法 (18认同)
  • 他特别在问题中指出:"我尝试了各种各样的东西:`data:{status:status,name:name},`" (4认同)
  • 似乎我的语法是正确的,我相信我犯了一个非常愚蠢的SQL错误. (3认同)
  • Re:语法,请注意,键名是' - ',例如`data:{site-name:"StackOverflow"}`将不起作用. (2认同)

k-d*_*dev 32

你可以通过Json或普通的POST发送数据,这里是Json的一个例子.

 var value1 = 1;
 var value2 = 2;
 var value3 = 3;   
 $.ajax({
      type: "POST",
      contentType: "application/json; charset=utf-8",
      url: "yoururlhere",
      data: { data1: value1, data2: value2, data3: value3 },
      success: function (result) {
           // do something here
      }
 });
Run Code Online (Sandbox Code Playgroud)

如果你想通过正常的帖子使用它试试这个

 $.ajax({
      type: "POST",
      url: $('form').attr("action"),   
      data: $('#form0').serialize(),
      success: function (result) {
         // do something here
      }
 });
Run Code Online (Sandbox Code Playgroud)


Alb*_*ven 9

试试报价:

data: {"status": status, "name": name}
Run Code Online (Sandbox Code Playgroud)

一定很好.

  • +1.BTW这实际上是数据:{status:"status",name:"name"} http://api.jquery.com/jquery.ajax/ (4认同)

Sha*_*hin 6

var countries = new Array();
countries[0] = 'ga';
countries[1] = 'cd';
Run Code Online (Sandbox Code Playgroud)

之后你可以这样做:

var new_countries = countries.join(',')
Run Code Online (Sandbox Code Playgroud)

后:

$.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: new_countries,
    ...
Run Code Online (Sandbox Code Playgroud)

这东西作为 JSON 字符串格式工作。