0

そこで、別のページへの「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

data: {}その文字列からajax 呼び出しのセクションにキー/値の情報を取得するにはどうすればよいですか? ありがとう!

4

3 に答える 3

4

プロパティは、オブジェクトとして使用dataすることも、クエリ文字列にすることもできます。そのため、そのまま使用できます。(ただし、先頭を削除する必要がある場合があります&)。

$.ajax({
    type: "POST",
    url: "maintain.aspx",
    data: "myvar=1&thisguy=dave&thatguy=martin",
    success: function(msg){
        alert("Done!");
    }
});
于 2013-01-12T02:08:33.647 に答える
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)

フィドルをチェック

于 2013-01-12T02:11:08.803 に答える
-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;
    }
于 2013-01-12T02:35:11.720 に答える