gpt4 book ai didi

javascript - 从服务器端将字符串传递给 JavaScript 函数

转载 作者:行者123 更新时间:2023-12-03 08:29:04 25 4
gpt4 key购买 nike

我正在尝试从服务器端将字符串参数传递给 javascript 函数,该函数将被发布到 AJAX 方法。 html 是在服务器端动态生成的,我使用 onclick 属性调用 javascript 函数。问题是它适用于数值,但当我传入字符串值时出现内部服务器错误。

这是我的服务器端代码:

str.Append("<span class=\"button-accept\"><a class=\"btn btn-primary btn-sm\" onclick=\"Request('"+from.ToString()+"')\" href=\"#\"><i class=\"fa fa-check\"></i></a></span>");

这是我的 JavaScript 方法:

function Request(param) {
$.ajax({
type: "POST",
url: '<%= ResolveUrl("~/myaccount/notifications/Default.aspx/Accept") %>',
data: "{'param' : "+param+"}",
contentType: "application/json",
success: function (msg) {
msg = msg.hasOwnProperty("d") ? msg.d : msg;
alert(msg);
}
});
}
function OnSuccess(response) {
alert(response.d);
}

这是 AJAX 将调用的方法:

        [WebMethod]
public static string Accept(string param)
{
return param;
}

正确的做法是什么?

最佳答案

您传递给 Web 方法的 JSON 暗示它是一个数值,请在 param 值周围添加引号:

data: "{'param' : "+param+"}",

data: "{'param' : '"+param+"'}",

或者...

如果始终将字符串传递给您的 Request 方法,则将使用 JSON.stringify 正确处理该字符串。

data: JSON.stringify({ 'param' : param }),

关于javascript - 从服务器端将字符串传递给 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33417387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com