如何将查询字符串参数传递给数据的Ajax调用

时间:2019-05-14 10:13:04

标签: javascript jquery ajax

我正在使用ajax调用来访问API,我想发送查询参数,我如何通过ajax调用发送查询参数。这是我的代码。谢谢您的帮助。

    $("[id*=btnok]").click(function (e) {
    e.preventDefault();
    var obj = {};
    obj = $.trim($("[id*=nodays]").val());
    $.ajax({
        url: "/apilink",
        "data": {
                "api": "api",
                "params": "?userType=driver&type=true&count=" + obj 
            },
        type: "post",
        dataType: "json",
        success: function (r) {
            console.log(r)
        }
    });
});

2 个答案:

答案 0 :(得分:0)

在发送POST请求时,data对象中的所有属性都将添加到请求的正文中。要强制在查询字符串中发送值,您需要将其手动添加到您提供给url属性的字符串中。

还要注意,将obj定义为空对象是多余的,因为$.trim()总是返回一个字符串。

$("[id*=btnok]").click(function (e) {
  e.preventDefault();
  var obj = $.trim($("[id*=nodays]").val());

  $.ajax({
    url: "/apilink?params=" + obj,
    data: {
      api: "api",
    },
    type: "post",
    dataType: "json",
    success: function (r) {
      console.log(r)
    }
  });
});

答案 1 :(得分:0)

我看到您发出了一个发布请求,因此参数在请求正文的params属性中传递。但是,您可以选择将字符串参数添加到/apilink中。像这样:/apilink?param1=val1&param2=val2