4

私は他の質問を通して学ぼうとしていますが、それでもうまくいきません

これはこれまでのところ私のコードであり、できる限り徹底的にしようとしています。

イベント(クリック時)

var resluts = []; //its a collections of id's - list items of unsorted list as strings 
$('#next').click(function() {
    var RLength = resluts.length;
    alert(resluts);
});​

ajax POST

function UbpdateSecondStage(arr) {

    var WebMethod ="GetSecondStageData";
    var page ="Default.aspx/";
    var target = page + WebMethod;
    var SendParameters = Sys.Serialization.JavaScriptSerializer.serialize(arr);
    jQueryAjxUpdt(target, SendParameters);

}


function jQueryAjxUpdt(targetUrl, SentPars) {
    $.ajax({
              type: 'POST',
              url: targetUrl,
              data: {
                     'sentobj':SentPars

              },
              contentType: "application/json; charset=utf-8",
              dataType: "json",
              success: function (data) {
                                  //alert(data);
              }

   });
}

C#

  [WebMethod]
  public static string GetSecondStageData(object sentobj)
  {
      var x = sentobj;
    return ?? ...do i have to give a return.. even if i do not require one ?
  }

私のコードの何が問題なのですか?. そのアプローチを試したのは初めてです。ありがとう。

私は数回更新しましたもう一度読んでください

ここに画像の説明を入力

4

3 に答える 3

6

このように変更してWebMethod、もう一度やり直してください:

[WebMethod]
public static string GetSecondStageData(object sentobj)
{
    var x = sentobj;
    return DateTime.Now.ToString();
}
于 2012-12-25T10:23:05.707 に答える
1

最初に、何を渡すか (サーバーに送信する) と、サーバーから返される応答 (運が良ければ ;)) を指定する必要があります。エラーがスローまたは発生している場合は、それも指定する必要があります。
次に、次のコードを使用する必要はありません。

var WebMethod ="GetSecondStageData";
var page ="Default.aspx/";
var target = page + WebMethod;
var SendParameters = Sys.Serialization.JavaScriptSerializer.serialize(arr);

あなたもこのように働くことができます

var test=new Object();
test.myArray=arr;
jQueryAjxUpdt("<Relative path to the directory such as '../home/default.aspx' >", JSON.stringify(test))

次のように ajaxFunction を再度変更します

function jQueryAjxUpdt(targetUrl, SentPars) {
$.ajax({
          type: 'POST',
          url: targetUrl,
          data: SentPars,
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function (data) {
                              //alert(data);
          }
    });
}

テストしていませんが、動作すると思います。動作しない場合はお知らせください。;-)そして最後に、ディレクティブ
以外に default.aspx ページに何も保持していないと思います。属性を指定しなくても機能します。@page[WebMethod]

于 2012-12-25T10:33:38.553 に答える
1

以下のコードを試してください

JavaScript

function UbpdateSecondStage(arr) {
    var WebMethod ="GetSecondStageData";
    var page ="Default.aspx/";
    var target = page + WebMethod;
    var SendParameters =arr;
    jQueryAjxUpdt(target, SendParameters);

}

function jQueryAjxUpdt(targetUrl, SentPars) {
          $.ajax({
              type: "POST",
              url: targetUrl,
              data: '{"results": "' + SentPars + '"}',
              contentType: "application/json; charset=utf-8",
              processData: false,
              dataType: "json",
              success: function(msg) {
              //alert(msg);
                 here your code
              },
              error: function(x, e) {
                  if (x.status == 500) {
                      alert("An error has occurred during processing your request.");
                  }
              }
          });
      }

C#

[WebMethod]
public static string GetSecondStageData(object results)
{
    var x = results;
    return DateTime.Now.ToString();
}

結果教えて。

于 2012-12-25T10:37:07.567 に答える