我是MVC的新手。我有javascript函数读取xml字符串并显示各种值。 XML中的一个元素是加密形式。我在控制器中写了一个方法,它将返回解密的字符串,但我无法使用ajax在我的javascript方法中调用该方法。下面是控制器方法和javascript代码的代码。
[HttpPost]
public ActionResult DecryptMessage(string message)
{
string decryptedMessage= Encryption.DecryptData(message);
return Json(decryptedMessage);
}
Javascript代码的一部分
if ((x[i].nodeName).toUpperCase() == "MESSAGE" ) {
//alert(childnd.nodeValue);
$.ajax({
type: "POST",
data: { value: childnd.nodeValue },
url: "/QueryController/DecryptMessage",
dataType:"string",
Success: function (result) {
if (result > 0) {
stringDetails = stringDetails + '<br><strong>Value:</strong>' + result + '<br>';
}
})
}
我无法弄清楚出了什么问题。
答案 0 :(得分:1)
由于这是您使用的网址:localhost/LogViewerPortal/Query/Index
,因此您的AJAX应该触发相同的网址。另外,将Success
更改为success
:
if ((x[i].nodeName).toUpperCase() == "MESSAGE" ) {
//alert(childnd.nodeValue);
$.ajax({
type: "POST",
data: { message : childnd.nodeValue },
url: "/LogViewerPortal/Query/DecryptMessage",
success: function (result) {
if (result) {
stringDetails = stringDetails + '<br><strong>Value:</strong>' + result + '<br>';
}
})
}
如果你想从你的控制器返回一个字符串,你可以改为:
[HttpPost]
public ActionResult DecryptMessage(string message)
{
string decryptedMessage= Encryption.DecryptData(message);
return Content(decryptedMessage);
}