Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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 Ajax加载Mvc内容错误_Javascript_Jquery_Ajax_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

Javascript Ajax加载Mvc内容错误

Javascript Ajax加载Mvc内容错误,javascript,jquery,ajax,asp.net-mvc,asp.net-mvc-4,Javascript,Jquery,Ajax,Asp.net Mvc,Asp.net Mvc 4,我知道,有几个问题几乎是同一个问题。但是我不知道我的错误在哪里 所以首先我的情况是: 我将使用ajax加载我的内容并将其推送到站点 $.ajax({ url: _this.url, contentType: "application/html; charset=utf-8", type: "GET", dataType: "html", data: { stamp: Date.now() }, success: function (result) { _this.app = $(

我知道,有几个问题几乎是同一个问题。但是我不知道我的错误在哪里

所以首先我的情况是: 我将使用ajax加载我的内容并将其推送到站点

$.ajax({
url: _this.url,
contentType: "application/html; charset=utf-8",
type: "GET",
dataType: "html",
data: {
    stamp: Date.now()
},
success: function (result) {
    _this.app = $("<div id='" + _this.frameId + "' />")
        .addClass("place-top-left page")
        .css({
            "height": "100%",
            "z-index": 4000
        })
        .append($(result))
        .appendTo(document.body);
    if (loadedCallback) {
        loadedCallback();
    }
},
error: function (xhr, status) {
    alert(xhr.responseText);
}
});
我的看法是:

@model Hsetu.Help.Web.Areas.System.Models.HowTo.HowToModel           
@{
   ViewBag.Title = "Leitfaden bearbeiten";
   Layout = "~/Areas/System/Views/Shared/AppSite.cshtml";
}

@section ScriptCSS{
  @Scripts.Render("~/uploadScripts")
}

@using (Html.BeginForm())
{
   <fieldset>
       <label>
          @Html.EditorFor(m => m.Name)
       </label>
       <label>
          @Html.EditorFor(m => m.HowToTitle)
       </label>
       <label>
          @Html.EditorFor(m => m.BusinessIds)
       </label>
   </fieldset>
}
@model Hsetu.Help.Web.Areas.System.Models.HowTo.HowToModel
@{
ViewBag.Title=“Leitfaden bearbeiten”;
Layout=“~/Areas/System/Views/Shared/AppSite.cshtml”;
}
@部分脚本CSS{
@Scripts.Render(“~/uploadScripts”)
}
@使用(Html.BeginForm())
{
@EditorFor(m=>m.Name)
@EditorFor(m=>m.HowToTitle)
@EditorFor(m=>m.BusinessIds)
}
错误是: 传入字典的模型项的类型为Hsetu.Help.Web.Areas.System.Models.HowTo.HowToModel,但此字典需要System.Web.Mvc.MvcHtmlString类型的模型项

因此,如果我调试代码,它将逐步通过控制器和视图。我还将得到正确的模型和值

只有来自ajax的success函数的结果是带有此错误消息的json返回

这适用于相同的代码,但不将howToModel传递到视图中


另一方面,我发现,如果我像这样使用ajaxcall,它也会工作?!很抱歉但是WTF是这两个ajaxcalls之间的区别吗

$.ajax({
    url: _this.url,
    contentType: 'application/html; charset=utf-8',
    type: 'GET',
    dataType: 'html',
    data: {                        
        stamp: Date.now()
    }
})
.success(function (result) {
    _this.app = $("<div id='" + _this.frameId + "' />")
    .addClass("place-top-left page")
    .css({
        "height": "100%",
        "z-index": 4000
    })
    .append($(result))
    .appendTo(document.body);
if (loadedCallback) {
    loadedCallback();
}
})
.error(function (xhr, status) {
    alert(xhr.responseText);
});
$.ajax({
url:_this.url,
contentType:'application/html;charset=utf-8',
键入:“GET”,
数据类型:“html”,
数据:{
邮票:Date.now()
}
})
.成功(功能(结果){
_this.app=$(“”)
.addClass(“放置左上页”)
.css({
“高度”:“100%”,
“z指数”:4000
})
.append($(结果))
.附录(文件正文);
如果(loadedCallback){
loadedCallback();
}
})
.错误(功能(xhr,状态){
警报(xhr.responseText);
});

所以我的问题是,如何让第一个ajaxcall工作?我需要这个语法。。所以没有办法了。也许有人能给我解释一下ajax和。找不到真正必要的理由!
谢谢,

ajax调用之间的区别在于,.ajax()调用返回的对象上的.error()调用返回一个可链接的,并允许设置多个处理程序,而传入一个
错误:
函数只能在每次
ajax()
调用中执行一次--我相信这是一种较旧的语法

(顺便说一句,
.error()
已被弃用,如果您使用的是那种方法,则应改用.fail()


关于您的MVC(服务器端)错误:当我尝试将null属性值传递给强类型帮助器时,通常会收到这种错误消息。检查
.Name
.HowToTitle
.BusinessIds
的值是否为空。

将视图放在视图中是个坏主意。您需要更改控制器以返回局部视图。但是,您没有指定部分名称。您试图通过此调用返回什么?我试图获取视图的html内容。我还尝试返回PartialView()Content()和MvcHtmlString始终相同的错误!ajax调用旨在更新字段或检查信息。或者更新部分。它们不是为整个视图替换而设计的。返回一个视图将包括您的布局页面、引用和许多其他您不需要重复的内容。如果您看到它,在这种情况下,它类似于局部视图的更新!我不会用html/body标签呈现整个页面!这只是一个带表单的div。我已经检查了所有属性。。什么都不是空的!就像我在问题中写的那样,这些价值观和一切似乎对我都很好!
$.ajax({
    url: _this.url,
    contentType: 'application/html; charset=utf-8',
    type: 'GET',
    dataType: 'html',
    data: {                        
        stamp: Date.now()
    }
})
.success(function (result) {
    _this.app = $("<div id='" + _this.frameId + "' />")
    .addClass("place-top-left page")
    .css({
        "height": "100%",
        "z-index": 4000
    })
    .append($(result))
    .appendTo(document.body);
if (loadedCallback) {
    loadedCallback();
}
})
.error(function (xhr, status) {
    alert(xhr.responseText);
});