我有一个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) {
}
});
}
一切都对我很好。
但这是将值发布到服务器的最佳方式。
或者我可以更好地使用它。
答案 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数据。 我希望这会有所帮助。