Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 由于&;的原因,无法在C#上传递整个html数据;数据中的符号_Javascript_C#_Json_Ajax - Fatal编程技术网

Javascript 由于&;的原因,无法在C#上传递整个html数据;数据中的符号

Javascript 由于&;的原因,无法在C#上传递整个html数据;数据中的符号,javascript,c#,json,ajax,Javascript,C#,Json,Ajax,我有一个ajaxpost方法,我使用stringify传递json数据,并使用ajax调用将其传递给c#server端 数据由html表格的几行组成。第二行的输入中有“&”。因此,&之后的任何数据都不会传递到服务器端。仅传递“&”之前的数据 例如 [{"FName":"Shesh","LName":"Chari","Department":"Automation"}, {"FName":"Uma","LName":"uri","Department":"Invest & Ops"},

我有一个ajaxpost方法,我使用stringify传递json数据,并使用ajax调用将其传递给c#server端

数据由html表格的几行组成。第二行的输入中有“&”。因此,&之后的任何数据都不会传递到服务器端。仅传递“&”之前的数据

例如

[{"FName":"Shesh","LName":"Chari","Department":"Automation"},
 {"FName":"Uma","LName":"uri","Department":"Invest & Ops"},
 {"FName":"Book","LName":"Mac","Department":"Ops"},
 {"FName":"Hard","LName":"Core","Department":"Invest"}]
正如您在上面看到的,它不是按原样传递整个数据,而是传递下面所示的截断数据。我想这一定是因为&在数据中。有什么建议吗

[{"FName":"Shesh","LName":"Chari","Department":"Automation"},
 {"FName":"Uma","LName":"uri","Department":"Invest
下面是ajax发送的JSON

var submitData = "=" + JSON.stringify($scope.gridOptions.rowData);

    $.ajax({
        type: 'POST',
        url: 'URL',
        data: submitData
    });

&在html中用作转义序列,以显示html中保留的字符(即,
变为
)。因此,&本身是保留的。您需要通过将所有
&
转换为
&;来消毒JSON字符串


请参阅首先清理Json数据:

var sanitiseString = $scope.gridOptions.rowData.replace("&", "&")
var submitData = "=" + JSON.stringify(sanitiseString);

$.ajax({
    type: 'POST',
    url: 'URL',
    data: submitData
});

我会在你把这些符号发送到服务器之前对它们进行编码。您可以通过在可能包含符号的列上调用简单的正则表达式,或者在字符串化的整个字符串上调用它来实现这一点

var searchStr = "&";
var replaceStr = "%26";
var re = new RegExp(searchStr, "g");
这是一篇非常好的帖子,解释了正在发生的事情,并发布了一个解决方案


在开发者工具或fiddler中发布的数据是什么样子的?谢谢。只要阅读html实体,这就是我需要的。