Dificuldade em realimentar um TextBox e uma ComboBox com jquery
Não tenho nenhuma dificuldade em passar qualquer valor vindo da minha View para minha controller via jquery. Agora o oposto não consigo nada. Tentei assim:
$('#meutextbox).val() = data.minha_result_da_controller.meu_campo; Assim nada.
$('#meutextbox).text() = data.minha_result_da_controller.meu_campo; Assim nada.
Desse jeito não vira e ainda dá erro de: Internal Server(500).
Como eu faço para alimentar meus campos na View, via jquery com valores vindo da controller.
Minha Jquery:
e minha controller:
$('#meutextbox).val() = data.minha_result_da_controller.meu_campo; Assim nada.
$('#meutextbox).text() = data.minha_result_da_controller.meu_campo; Assim nada.
Desse jeito não vira e ainda dá erro de: Internal Server(500).
Como eu faço para alimentar meus campos na View, via jquery com valores vindo da controller.
Minha Jquery:
function CarregaDados(ajaxParameter) {
var str = "";
$.ajax({
url: '/CadastroAcesso/CarregaDadosPagina',
datatype: 'json',
contentType: 'application/json;charset=utf-8',
type: 'POST',
data: JSON.stringify({ _nivel: ajaxParameter }),
success: function (data) {
},
error: function (error) {
}
})
}e minha controller:
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.Nivel_Acesso, s.Email }).ToList();
return Json(new { result_carrega_pagina }, JsonRequestBehavior.AllowGet);
}
Pjava
Curtidas 0
Respostas
Joel Rodrigues
29/10/2014
Tente passar o parâmetro direto, sem converter para JSON.
GOSTEI 0
Pjava
29/10/2014
Mas como eu faço isso? Sempre fiz com json e sempre funcionou. O problema está no sucesso do ajax, seja, o retorno do controller. Eu recebo o parâmetro o controller, mas quando envio de volta o resultado da linq, aí dá erro.
GOSTEI 0
Pjava
29/10/2014
Fazendo debug da minha aplicação, veio esse erro:
<!DOCTYPE html>
<html>
<head>
<title>Foi detectada uma referência circular ao serializar um objeto do tipo 'System.Data.Entity.DynamicProxies.Nivel_Acesso_6307FCC211310F19F6F7AC4722969DB04A0A88255ACCC51F4C865C51FCBB1149'.</title>
<meta name="viewport" content="width=device-width" />
<style>
body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;}
p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}
b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}
H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}
.marker {font-weight: bold; color: black;text-decoration: none;}
.version {color: gray;}
.error {margin-bottom: 10px;}
.expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
@media screen and (max-width: 639px) {
pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; }
}
@media screen and (max-width: 479px) {
pre { width: 280px; }
}
</style>
</head>
<body bgcolor="white">
<span><H1>Erro de Servidor no Aplicativo '/'.<hr width=100% size=1 color=silver></H1>
<h2> <i>Foi detectada uma referência circular ao serializar um objeto do tipo 'System.Data.Entity.DynamicProxies.Nivel_Acesso_6307FCC211310F19F6F7AC4722969DB04A0A88255ACCC51F4C865C51FCBB1149'.</i> </h2></span>
<font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">
<b> Descrição: </b>Ocorreu GOSTEI 0
Pjava
29/10/2014
Estive fora por um tempo e agora voltei para terminar o que eu comecei. Continua dando erro. Ele não entra no sucesso do ajax, ao contrário, ele entra na função Error do ajax.
GOSTEI 0
Joel Rodrigues
29/10/2014
Tire o new e deixe apenas:
return Json(result_carrega_pagina, JsonRequestBehavior.AllowGet);
GOSTEI 0
Pjava
29/10/2014
Nem assim Joel. Só não entendo é que tudo que eu faço com ajax e jquery é dessa forma e sempre funcionou e agora não sei porque. Veja o código completo, ele fica dentro de uma função de dbclick, ou seja, ao dar um double click deveria executar uma lambda e devolver o resultado e preencher uma textbox.
$('#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);
}
})
}GOSTEI 0
Pjava
29/10/2014
Uma dúvida: Se eu envio o parâmetro para executar a lambda no meu controller via data(JSON.stringify), por onde eu recebo o resultado então no jquery e ajax?
GOSTEI 0
Pjava
29/10/2014
Esse é o erro que dá:
POST http://localhost:53130/CadastroAcesso/CarregaDadosPagina 500 (Internal Server Error) jquery-2.1.0.js:8556send jquery-2.1.0.js:8556jQuery.extend.ajax jquery-2.1.0.js:8084CarregaDados CadastroAcesso.js:178(anonymous function) CadastroAcesso.js:171o.event.dispatch jquery-2.1.0.min.js:3r.handle jquery-2.1.0.min.js:3
GOSTEI 0
Pjava
29/10/2014
Resolvi assim:
function CarregaDados(ajaxParameter) {
var str = "";
$.ajax({
url: '/CadastroAcesso/CarregaDadosPagina',
datatype: 'json',
contentType: 'application/json;charset=utf-8',
type: 'POST',
data: JSON.stringify({ _nivel: ajaxParameter }),
success: function (data) {
$.each(data, function (index, itemData) {
$('#txtNome').val(itemData.NM_Usuario);
$('#txtUsuarioRede').val(itemData.Usuario1);
$('#txtEmail').val(itemData.Email);
//$('#cbxNivelAcesso').text('Administracao');
});
},
error: function (error) {
alert(2);
}
})
}GOSTEI 0