视图控制器传入ajax,JQUERY ajax从MVC视图传递值到控制器

博客讨论了在使用jQuery/AJAX从视图向控制器传递包含HTML或脚本标记的字符串时遇到的问题。当尝试保存包含这些特殊字符的评论时,AJAX请求会失败并跳转到错误处理函数,而不是成功保存数据。作者尝试了多种方法,包括使用`escape`函数和`serialize()`,但问题仍然存在。解决方案可能涉及到正确的字符串编码或使用反XSS策略来确保数据安全。
摘要由CSDN通过智能技术生成

我想要的是将txtComments的值从View(使用jquery / ajax)传递给Controller。

问题是ajax / jquery不接受脚本标签作为字符串。意思是,当我在txtComments中输入任何脚本/

html标记时,ajax会进入错误功能,而无法进入控制器。

这是jQuery:

$('#btnSaveComments').click(function () {

var comments = $('#txtComments').val();

var selectedId = $('#hdnSelectedId').val();

$.ajax({

url: '?id=' + selectedId + '&comments=' + escape(comments),

type: "post",

cache: false,

success: function (savingStatus) {

$("#hdnOrigComments").val($('#txtComments').val());

$('#lblCommentsNotification').text(savingStatus);

},

error: function (xhr, ajaxOptions, thrownError) {

$('#lblCommentsNotification').text("Error encountered while saving the comments.");

}

});

});

这是控制器:

[HttpPost]

public ActionResult SaveComments(int id, string comments){

var actions = new Actions(User.Identity.Name);

var status = actions.SaveComments(id, comments);

return Content(status);

}

我也试过$('#txtComments').serialize()了逃脱(注释),但是还是一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值