如何使用一串数据执行jQuery帖子?

时间:2013-01-12 02:03:43

标签: jquery asp.net vb.net post

所以我想为另一个页面创建一个“POST”。我想这样做......

$.ajax({

    type: "POST",
    url: "maintain.aspx",
    data: { key1:value1, key2:value2, key3:value3 },
    success: function(msg){
        alert("Done!");
    }

});

问题是我没有变量形式的数据。相反,我提供的数据字符串格式如此......

&myvar=1&thisguy=dave&thatguy=martin

如何从该字符串中获取键/值信息到ajax调用的data: {}部分?谢谢!

3 个答案:

答案 0 :(得分:4)

data属性可以是您拥有的对象,也可以是查询字符串。所以你可以简单地按原样使用它。 (尽管您可能需要删除前导&)。

$.ajax({
    type: "POST",
    url: "maintain.aspx",
    data: "myvar=1&thisguy=dave&thatguy=martin",
    success: function(msg){
        alert("Done!");
    }
});

答案 1 :(得分:0)

试试这个

var str = "&myvar=1&thisguy=dave&thatguy=martin";

var params = str.split('&');

var objData = {};
for (var i = 0; i < params.length; i++) {
  if (params[i] !== '') {
    var attrs = params[i].split('=');
    if (attrs.length) {
      objData[attrs[0]] = attrs[1];
    }
  }
}

$.ajax({
  type: "POST",
  url: "maintain.aspx",
  data: objData,
  success: function (msg) {
    alert("Done!");
  }

});
console.log(objData)

<强> Check Fiddle

答案 2 :(得分:-1)

很抱歉这个混乱。 这是一个例子:

var url = "?param1=123&param2=222&param3=aaaa";
var json = {param1: " + getQueryString(url, param1)  + ", param2: " + getQueryString(url, param2)  + "}

function getQueryString(url, param){
        var currentURL ="";
        currentURL = url;
        var separar = currentURL.split("&");
        var value = "";
        for (i = 0; i < separar.length; i++) {
            var separarValue = separar[i].split("=");
            if (separarValue[0] == a) {

                value = separarValue[1];
                break;
            }
        }
        return value;
    }