【发布时间】:2023-04-04 15:11:01
【问题描述】:
我正在尝试将 XML 字符串从 HTML/JavaScript 客户端传递到 ASP.NET MVC 服务器端。问题是 XML 字符串永远不会到达服务器,而普通的“非 XML”字符串会成功传输。
客户端相关的JavaScript代码如下:
function TransferXmlDataToServer() {
var sXml = "<Tag>This is an XML test string.</Tag>"
$.ajax({
type: "POST",
url: '@Url.Action("TransferXMLData", "Home")',
data: { sInputXml: sXml },
dataType: "json",
success: function(sReturnValue) {
alert("Value returned from server is: " + sReturnValue);
},
error: function() {
alert("There was an error on the server side");
}
})
};
这是服务端MVC Home控制器中对应的函数:
public JsonResult TransferXMLData(string sInputXml) {
// The arguments' name must match those used in the View's Ajax call
return Json("Success");
}
从客户端调用TransferXmlDataToServer 时,会显示服务器端出现错误 消息。我在服务端的TransferXMLData中放了一些没有被调用的调试打印语句,显示这个函数甚至没有进入。
另一方面,当
sXml = "<Tag>This is an XML test string.</Tag>"
被替换为
sXml = "This is a test string."
一切都按预期进行。
补充说明:
- 已在 IE11 和 Edge 上尝试过。
- 我尝试在将 XML 字符串发送到服务器之前将其转换为序列化 Json,但无济于事。
如果知道我做错了什么,我将不胜感激。
非常感谢。
【问题讨论】:
标签: javascript c# ajax xml asp.net-mvc