所以我想为另一个页面创建一个“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: {}
部分?谢谢!
答案 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¶m2=222¶m3=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;
}