请帮帮我!!
我在Web表单asp dotnet2010中使用Ajax有一些问题。
.aspx文件中,我有以下功能:
$("#Result").click(function () {
$.ajax
({
type: "POST",
url: "Example1.aspx/GetDate",
beforeSend: function (xhr) {
// alert('Befor to send');
xhr.setRequestHeader("Content-type", "application/json; charset=utf-8");
},
//data: "{}",
data: JSON.stringify({ v1: val1, v2: val2 }),
//data: '{"v1":"' + val1 + '","v2":"' + val2 + '"}',
//data: JSON.stringify(dataParam),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
}
}); // $.ajax
}); //$("#Result").click(function ()
后面的代码(文件 .cs) 中的 GetDate() 函数:
public static string GetDate(string v1, string v2)
{
string s2 = HttpContext.Current.Request.Form["v2"];
}
首先,我不是从输入参数获取数据,但我想从 HttpContext.Current.Request 获取输入参数。 我看到值变量 s2=null,请帮助我!!我如何获得该值???
第二,万一
公共静态字符串 GetDate(字符串 v1、字符串 v2)
{ 字符串 s2 = HttpContext.Current.Request.Form["v2"];
}
在阿贾克斯
data: { v1:val1, v2: val2 },
当我在 aspx 表单中单击按钮时,我不调用 GetDate() 函数?
谢谢
你的第一个问题是你没有在你的代码隐藏方法中包含 WebMethod
属性,首先包括它以使你的 AJAX 调用像这样工作:-
[WebMethod]
public static string GetDate(string v1, string v2)
{
string s2 = HttpContext.Current.Request.Form["v2"];
}
您string s2 = HttpContext.Current.Request.Form["v2"];
这一行中的第二个问题是您正在尝试从集合中获取当前请求中的数据,但这是一个 Ajax 调用,并且您已经以 json 格式传递了数据,因此可以简单地在您的方法中获取这样的数据:-
string s2 = v2;