使用 jQuery 执行 ajax 请求时,我不确定如何将变量添加到发送到服务器的数据中。使用静态字符串发送请求可以正常工作:
$("#btnSubmit").click(function () {
var inputtext = $("#txtInput").val();
$.ajax({
type: "POST",
url: "Webform1.aspx/Function",
data: "{'ans':'hello'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
}
});
});
上面调用 .net 函数,然后生成一个带有响应字符串的 msgbox。
如何用上面的 inputtext 变量等变量替换硬编码字符串 'hello'。
以下不起作用并导致与 json 解析相关的 500 错误:
{'ans':inputtext}
{ans:输入文本}
{"ans":inputtext}
(ans 是函数参数的名称)
编辑:
为了处理请求服务器端,我只使用函数的 .net WebMethod 属性,它与上面示例中的硬编码字符串请求一起使用,但在使用数据传递变量时仅返回整个 html 页面:{ans:inputtext} :
[System.Web.Services.WebMethod]
public static string Function(string ans)
{
return ans;
}