1

私は次のようなajax関数を持っています(基本的には単純化されています):

function getPage(targetURL, targetID, dataMethod, dataStream) {
  $.ajax({
    type: dataMethod,
    data: { dataStream },
    url: '../' + targetURL,
    success:
        function(server_response)   { 
            $('#' + targetID).html(server_response).show();
        }
    });
  return false;
}

次に、次のような関数を呼び出します。

onclick="getPage('myPage.php', 'content', 'GET', 'someAction: add');"

そして、それは非常に良いことです...しかし、今のところ、関数はaddが変数であると考えています...しかし、場合によっては、次のように、onClick内から値を使用してsomeActionを宣言する必要があります。

onclick="getPage('myPage.php', 'content', 'GET', 'someAction: "add"');"

ただし、それはもちろん機能しません...もちろん機能しません:

onclick="getPage('myPage.php', 'content', 'GET', 'someAction: \"add\"');"

それで、賢い人は何をしますか?

4

3 に答える 3

1

これは、文字列とオブジェクトを混合しているためです。私がやりたいと思うことを行うには、次のような関数を呼び出す必要があります。

onclick="getPage('myPage.php', 'content', 'GET', { someAction: 'add' });"

つまり、オブジェクトを文字列ではなく4番目のパラメータとして渡す場合、関数では、そのオブジェクトをそのまま扱う必要があります。

$.ajax({
  type: dataMethod,
  data: dataStream,
  url: '../' + targetURL,
  // ...
于 2012-10-15T14:03:25.817 に答える
1

文字列として渡すので、渡すdataStreamべきではありません。オブジェクトリテラルである必要があります。

function getPage(targetURL, targetID, dataMethod, dataStream) {
  $.ajax({
    type: dataMethod,
    data:  dataStream ,
    url: '../' + targetURL,
    success:
        function(server_response)   { 
            $('#' + targetID).html(server_response).show();
        }
    });
  return false;
}

その後:

onclick="getPage('myPage.php', 'content', 'GET', {someAction: add});"

また

onclick="getPage('myPage.php', 'content', 'GET', {someAction: \"add\"});"
于 2012-10-15T14:03:37.387 に答える
1

オブジェクトを期待しているので、1つ与えます。

onclick="getPage('myPage.php', 'content', 'GET', {someAction: add});"

次に、関数内:

    data: dataStream,

中かっこなし

于 2012-10-15T14:04:49.953 に答える