500-JQuery Ajax发布上的内部服务器错误(ASP.NET MVC)

马丁·约翰逊

首先,我一直在浏览所有我发现可以处理JQuery Ajax调用此错误的帖子,但大多数是由于预期返回错误的dataTypes而引起的,而且我很确定这不是我的问题,因为此代码已起作用前。

我想要做的是,当我单击我的复选框之一时,我想使用模型检索局部视图,并将其填充到主视图的#selectedProductContainer中。

这是我正在运行的脚本的主要视图(缩短了很多时间):

@model ProductMainViewModel
<div class="product-list-wrapper">
        @Html.CheckBoxListFor(m => m.PostedProducts.ProductIds,
            m => m.AvalibleProducts,
            entity => entity.Id,
            entity => entity.Name,
            m => m.SelectedProducts,
            m => new { @class = "productCheckboxList productSelected" + m.Id, data_price = m.Price.ToString() })
  </div>
  <div id="selectedProductContainer">

  </div>

<script>
 $(".productCheckboxList[type='checkbox']").change(function () {
        var isChecked = $(this).is(":checked");
        var value = $(this).val();
        if (isChecked) {
            ProductChange(this);
        }

function ProductChange(element) {
        var value = {
            Value: element.value
        }
        var container = $("#selectedProductContainer");
        $.ajax({
            url: "@Url.Action("ProductCalcSelection", "Home")",
            type: "POST",
            data: JSON.stringify(value),
            contentType: "application/json",
            dataType: "html",
            success: function(data) {
                container.append(data);
            },
            error: function(jqXHR, textStatus, errorThrown) {
                alert("error: " + errorThrown);
            }
        });
}
<script>

此调用的控制器操作如下所示:

[HttpPost]
    public ActionResult ProductCalcSelection(string value)
    {
        var convertValue = Convert.ToInt32(value);
        var product = db.Products.FirstOrDefault(p => p.Id == convertValue);
        var accessories = db.Accessories.ToList();

        var productViewModel = new ProductFormViewModel
        {
            Product = product,
            Accessories = accessories
        };

        return PartialView("_ProductForm", productViewModel);

首先是我的局部视图的View模型:

public class ProductFormViewModel
{
    public Product Product { get; set; }
    public List<Accessory> Accessories { get; set; }
}

这是我的局部视图(简短版):

@model ProductFormViewModel

<div>
    <span>Hello</span>
</div>

问题是从ajax调用中,我在警报框中返回“错误:内部服务器错误”以进行错误处理。我已经调试了整个通话,所有值都是正确的。控制器发回局部视图和我的视图模型时,似乎感到很惊讶。

在我的脑海中,我觉得这是由于响应的dataType错误,但是我希望html回来,这就是我应该得到的,对吗?这项工作较早,但是我们必须对Accessory模型进行一些小的更改,并且我知道问题应该与此更改有关,但我似乎找不到连接。如果需要,我也会在这里张贴我的课程:

public class Product : IProduct
{
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }
    public long Price { get; set; }
    public bool HasAccessories { get; set; }
}

public class Accessory : IAccessory
{
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }
    public string CodeName { get; set; }
    public string AccessoryType { get; set; }
    public long Price { get; set; }
    public bool IsMultiplied { get; set; }
    public int ProductId { get; set; }
    //public virtual ICollection<ProductId> ProductIds { get; set; }
}

我们在配件上所做的更改是,我们决定每个配件只需要一个ProductId,之前我们使用虚拟ICollection来存储多个ID。该类看起来像这样:

public class ProductId
{
    [Key]
    public int Id { get; set; }
    public int ProductIdHolder { get; set; }

    [ForeignKey("Accessory")]
    public int AccessoryId { get; set; }
    public virtual Accessory Accessory { get; set; }
}

我们现在根本不使用它,而是使用常规的int ProductId。

有什么想法可能出错了吗?

编辑:我正在添加我的浏览器devtools错误消息:

POST http:// localhost:54213 / Home / ProductCalcSelection 500(内部服务器错误)发送@ jquery-2.1.3.js:8625 jQuery.extend.ajax @ jquery-2.1.3.js:8161 ProductChange @ offert.js: 113(匿名函数)@ Offert:179 jQuery.event.dispatch @ jquery-2.1.3.js:4430 elemData.handle @ jquery-2.1.3.js:4116

offert.js中的第113行是我的$ .ajax开始的地方。匿名函数的第179行是我对ProductChange()函数的调用。

马丁·约翰逊

正如@Mackan和@gamesmad在评论中指出的那样,我正在查看错误的错误。当我在devtools中打开Network并单击call-> Preview时,出现了asp.net错误消息,该错误消息为我提供了我需要的所有信息。就我而言,我忘记了使用更新的模型来更新发送回的局部视图。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MVC中使用JQuery Ajax原因500(内部服务器错误)发布数组

来自分类Dev

使用jQuery直接调用ASP.NET AJAX页面方法-500(内部服务器错误)

来自分类Dev

ASP.NET MVC控制器的Ajax请求返回500-内部服务器错误

来自分类Dev

jQuery AJAX发布:500(内部服务器错误)?

来自分类Dev

jQuery AJAX发布:500(内部服务器错误)?

来自分类Dev

ASP.NET MVC 4 jQuery Ajax请求返回内部服务器错误

来自分类Dev

500(内部服务器错误)ASP.Net MVC 5 c#

来自分类Dev

ASP.NET MVC 包中的 500 内部服务器错误

来自分类Dev

jQuery ajax调用以在MVC中传递JSON数组(500内部服务器错误)

来自分类Dev

ASP.NET + jQuery AJAX-获取500个服务器错误

来自分类Dev

jQuery发布有500个内部服务器错误?

来自分类Dev

POST 500(内部服务器错误)ajax,mvc

来自分类Dev

ASP.NET Core 3.1 MVC返回AmbiguousMatchException,服务器错误500

来自分类Dev

在共享服务器上发布时,ASP.NET MVC错误

来自分类Dev

C# ASP.NET MVC 5 - 错误 500 加载字形和 jquery ui 样式

来自分类Dev

500内部服务器错误,要求.Net MVC 3站点中的任何资源文件(css,js,图像)

来自分类Dev

MVC 中的 ajax 错误 500 和内部服务器错误

来自分类Dev

ASP.NET MVC jQuery发布错误

来自分类Dev

使用ASP .NET MVC和jQuery AJAX请求下载服务器生成的CSV

来自分类Dev

如何使用Ajax在ASP.NET MVC上显示服务器端验证错误

来自分类Dev

在asp.net c#中向服务器端方法发送ajax数据时出现500内部服务器错误

来自分类Dev

$ .post jquery中的内部服务器错误500?

来自分类Dev

ASP.NET Identity Google Callbackpath抛出内部服务器错误500

来自分类Dev

从javascript调用webmethod时ASP.NET 500内部服务器错误

来自分类Dev

ASP.NET无法摆脱“ 500-内部服务器错误”

来自分类Dev

ASP.NET Identity Google Callbackpath抛出内部服务器错误500

来自分类Dev

ASP.NET Core Web API 500内部服务器错误

来自分类Dev

ASP.NET对API端点的调用返回500-内部服务器错误

来自分类Dev

ASP.NET Web API CreatedAtRoute 返回 500 内部服务器错误

Related 相关文章

  1. 1

    在MVC中使用JQuery Ajax原因500(内部服务器错误)发布数组

  2. 2

    使用jQuery直接调用ASP.NET AJAX页面方法-500(内部服务器错误)

  3. 3

    ASP.NET MVC控制器的Ajax请求返回500-内部服务器错误

  4. 4

    jQuery AJAX发布:500(内部服务器错误)?

  5. 5

    jQuery AJAX发布:500(内部服务器错误)?

  6. 6

    ASP.NET MVC 4 jQuery Ajax请求返回内部服务器错误

  7. 7

    500(内部服务器错误)ASP.Net MVC 5 c#

  8. 8

    ASP.NET MVC 包中的 500 内部服务器错误

  9. 9

    jQuery ajax调用以在MVC中传递JSON数组(500内部服务器错误)

  10. 10

    ASP.NET + jQuery AJAX-获取500个服务器错误

  11. 11

    jQuery发布有500个内部服务器错误?

  12. 12

    POST 500(内部服务器错误)ajax,mvc

  13. 13

    ASP.NET Core 3.1 MVC返回AmbiguousMatchException,服务器错误500

  14. 14

    在共享服务器上发布时,ASP.NET MVC错误

  15. 15

    C# ASP.NET MVC 5 - 错误 500 加载字形和 jquery ui 样式

  16. 16

    500内部服务器错误,要求.Net MVC 3站点中的任何资源文件(css,js,图像)

  17. 17

    MVC 中的 ajax 错误 500 和内部服务器错误

  18. 18

    ASP.NET MVC jQuery发布错误

  19. 19

    使用ASP .NET MVC和jQuery AJAX请求下载服务器生成的CSV

  20. 20

    如何使用Ajax在ASP.NET MVC上显示服务器端验证错误

  21. 21

    在asp.net c#中向服务器端方法发送ajax数据时出现500内部服务器错误

  22. 22

    $ .post jquery中的内部服务器错误500?

  23. 23

    ASP.NET Identity Google Callbackpath抛出内部服务器错误500

  24. 24

    从javascript调用webmethod时ASP.NET 500内部服务器错误

  25. 25

    ASP.NET无法摆脱“ 500-内部服务器错误”

  26. 26

    ASP.NET Identity Google Callbackpath抛出内部服务器错误500

  27. 27

    ASP.NET Core Web API 500内部服务器错误

  28. 28

    ASP.NET对API端点的调用返回500-内部服务器错误

  29. 29

    ASP.NET Web API CreatedAtRoute 返回 500 内部服务器错误

热门标签

归档