0

我有一个generic-http-handler,我从 jQuery 调用它。
我的处理程序仅insert values in database但不返回任何内容。
我打电话handler如下

function InsertAnswerLog(url) {
$.ajax({
    type: "POST",
    url: "../Services/Handler.ashx",
    data: { 'Url': url, 'LogType': "logtype" },
    success: function (data) {
    },
    error: function (Error) {

    }
});
}

一切对我来说都很好。
但这是将值发布到服务器的最佳方式吗?
或者我可以以更好的方式使用它。

4

1 回答 1

0

您发送的数据类型似乎是 JSON 编码的尝试在发送之前以这种形式序列化数据,然后在服务器端您应该在发送回数据之前对数据进行编码。

在发送到服务器之前进行序列化

    function InsertAnswerLog(url) {
   var DatatoSend =  { 'Url': url, 'LogType': "logtype" } ;
   $.ajax({
   type: "POST",
   url: "../Services/Handler.ashx",
   data: {Jsondata: JSON.stringify(DatatoSend)},
   success: function (data) {
   },
   error: function (Error) {
  }
  });
  }

现在在服务器端 scipt

     // NB: i use PHP not asp.net but it think it should be something like
     Json.decode(Jsondata);
     // do what you want to do with the data
     // to send response back to page 
     Json.encode(Resonponse);
      // then you could in php echo or equivalent in asp send out the data

在服务器端脚本上解码 json 数据很重要,当要发送响应时,应将其编码回 JSON 格式,以便将其理解为返回的 json 数据。我希望这有帮助。

于 2013-02-12T06:55:00.687 回答