【问题标题】:How to get a string from Controller and use it in view?如何从 Controller 获取字符串并在视图中使用它?
【发布时间】:2019-09-27 01:48:26
【问题描述】:

我正在尝试从我的控制器中获取一些字符串并在视图中使用它。 ActionResult 的工作方式如下:

public ActionResult GetSymbols()
{
    string result = "SVG-String";
    return Content(result);
}

这个结果将是一个 svg 格式的字符串,应该显示在我的 svg-drawing 中,最后。 我尝试使用 JavaScript 调用这个控制器动作,我可以到达控制器,但我怎么能使用字符串呢?我看不到任何结果,那么将返回的字符串放入变量的正确方法是什么?

最后一次尝试是这样的:

$(document).ready(function () {
            $.ajax({
                url: "/Symbols/GetSymbols/",
                method: "GET",
                async: false,
                data: "",
                dataType: "string",
                success: function (data) { alert(data); }
            });
    });

【问题讨论】:

  • 你应该简单地返回一个字符串或一个 JsonResult,而不是一个动作。
  • 好的,如果我将 dataType 更改为文本而不是字符串,我的代码就可以工作了。有没有更好的方法来获取字符串?您能否提供一些示例代码?

标签: javascript c# asp.net model-view-controller


【解决方案1】:

这个怎么样,

将您的 Controller 返回类型更改为 Json

[HttpGet]
public JsonResult GetSymbols()
{
    string result = "SVG-String";
    return Json(result, JsonRequestBehavior.AllowGet);
}

你的javascript 就像,

$(document).ready(function () {
    $.ajax({
        method: "GET",
        url: "/Symbols/GetSymbols/",
        async: false,
        dataType: "json",
        success: function (data) { 
            alert(data); 
        },
        error: function (response) {
            console.log(response);
        }
    });
});

【讨论】:

  • Json有什么优势?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-27
  • 2018-07-09
  • 2021-07-24
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
  • 1970-01-01
相关资源
最近更新 更多