【问题标题】:Function not firing in mvc from jstree call函数未从 jstree 调用在 mvc 中触发
【发布时间】:2012-06-01 13:07:01
【问题描述】:

我有这个 jquery 应该触发 mvc 函数调用,

$(document).ready(function () {
alert("ddddd");
$("#divJsTreeDemo").jstree({
    "plugins": ["json_data"],
    "json_data": {
        "ajax": {
            "type": "POST",
            "url": "/WebTree/GetTreeNodes",
            "async": true,
            "contentType": "application/json; charset=utf-8",
            "dataType": "json",

            "data": function (node) {

                return ""; 

            },
            sucess: function (retval) {
                var d = "";
            },
            error: function (retval) {
                alert(retval);
            }
        }
    }

});

});

但我不断收到一条错误消息,提示“您要查找的资源已被删除、名称已更改或暂时不可用。”

当我将 json 发送到服务器时,我得到错误了吗?

这里是mvc控制器,

Public Class WebTreeController
    Inherits System.Web.Mvc.Controller

    '
    ' GET: /WebTree

    Function Index() As ActionResult
        Return View()
    End Function

    Public Function GetTreeNodes() As JsonResult

        Dim list As New List(Of String)
        list.Add("dddd")

        'Dim jsonString As String = Encoding.Default.GetString(list.ToArray)

        Return Me.Json(list)

    End Function


End Class

【问题讨论】:

  • 尝试在数据中发送NULL,同时确保url正确。

标签: javascript jquery .net asp.net-mvc


【解决方案1】:

有几点:

  1. 直接在浏览器中输入网址,看看是否有结果。如果不是,则可能是路由问题,但不太可能。
  2. 使用浏览器的开发工具(在 Chrome/IE 中按 F12)并检查发出的请求。这个问题有 99.9% 是 URL 问题。
  3. 在您的视图中使用@Url.Action() 来生成动作的路径,而不是硬编码的链接。路径可能会根据您的部署配置而改变。

干杯。

【讨论】:

    猜你喜欢
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 2015-10-09
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多