2014-11-05 29 views
1

这是我的jquery:我的jQuery与Ajax不起作用。内部服务器错误(500)

$('#nmUsuario').on("dblclick", '.clique', function() { 
    CarregaDados($(this).parent().find(".idusuario").text());  
}) 

function CarregaDados(ajaxParameter) { 
    var str = ""; 
    $.ajax({ 
     url: '/CadastroAcesso/CarregaDadosPagina', 
     datatype: 'json', 
     contentType: 'application/json;charset=utf-8', 
     type: 'POST', 
     data: { _nivel: JSON.stringify(ajaxParameter) }, 
     success: function (data) { 
      alert(1); 
      $('#txtNome').val(data.result_carrega_pagina.NM_Usuario); 
     }, 
     error: function (error) { 
      alert(2); 
     } 
    }) 
} 

这是我的控制器

[HttpPost] 
public JsonResult CarregaDadosPagina(int _nivel) 
{ 
     RupturaEntities db = new RupturaEntities(); 

     var result_carrega_pagina = db.Usuario 
      .Where(n => n.IDUsuario == _nivel) 
      .Select(s => new { s.NM_Usuario, s.Usuario1, s.Email }).ToList(); 

     return Json(result_carrega_pagina, JsonRequestBehavior.AllowGet); 
} 

不过,我的网页不工作。我必须做什么?这是错误: 无法加载资源:服务器与500 (Internal Server Error)

状态回应如何解决这个问题?

+0

看起来你的web服务期望一个整数,但是你传递它JSON.stringify(ajaxparameter)。你有没有尝试传递它只是整数值? – 2014-11-05 16:13:31

+0

尝试看看萤火虫控制台,如果它是500内部服务器错误)有时它带有额外的信息,如其他人在这里评论,关于整数,而不是你发布的字符串。 – 2014-11-05 16:22:25

+0

ajaxparameter是一个int值。一个变量有一个整数值 – pnet 2014-11-05 16:32:19

回答

2

您控制器需要int,但您通过JSON.stringify(ajaxParameter)。它需要采用以下格式:

data: { _nivel: 1 } 

检查您的网络流量并放置断点以确保它的格式正确。

+0

好吧,内部错误的问题解决了,但我有这个问题:未捕获的TypeError:无法读取未定义的属性'NM_Usuario' – pnet 2014-11-05 16:23:14

+0

@pnet听起来像另一个问题的另一个问题。 – 2014-11-05 16:23:42

+0

您返回一个集合。 'List'没有'result_carrega_pagina'属性,所以'data.result_carrega_pagina.NM_Usuario'未定义 – 2014-11-05 22:56:01

相关问题