0

javascript から ajax を使用して asp.cs にデータを渡す際の問題。うまくいきません。リストボックスの結果で文字列を渡したい。どうしたの?ありがとう

    public static bool AddNewItem(string name, string surname, int age)
    {


    return true;      
   } 


   <input type="submit"  value="OK" id="enter" runat="server" onclick="submitAjax()" />



      function submitAjax() {
     var listBox = document.getElementById('SubCat');
     var i;
     var str=listBox.options[0].text;

     for(i=1;i<listBox.options.length;i++)
     str=","+listBox.options[i].text;

       $.ajax({
        type: 'POST',
        url: 'RicercaAdvForn.aspx/AddNewItem',
        data: '{str}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            if (msg.d) {
                alert("Successfully added new item");
            }
        },
        error: function () {
            alert("Error! Try again...");
        }
      } );

      }
4

3 に答える 3

0

data: '{str}',文字列リテラル "{str}" をコードビハインドに渡します-おそらくあなたが意図したものではありません。代わりにJSON.stringifyを使用してみてください:

$.ajax({
    ...
    data: JSON.stringify({ parameterName: str }),
    ...

parameterNameコード ビハインド メソッドが期待するパラメーターの名前はどこにありますか。

于 2013-01-16T19:31:43.567 に答える
0

パラメータを個別に渡す必要があります。

data: {name: 'someName', surname: 'someSurName', age: 20}
于 2013-01-16T19:27:57.517 に答える
0

使ってみて

data: {str},

いいえ

data: '{str}',

しかし、@Marcus Recck レスポンスを使用するのが最善の方法です。

ご挨拶。

于 2013-01-16T19:32:22.223 に答える