jquery-ajax post值到http-generic-handler不返回任何内容

时间:2013-02-12 06:33:37

标签: asp.net jquery httphandler

我有一个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) {

    }
});
}

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

1 个答案:

答案 0 :(得分: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数据。 我希望这会有所帮助。