Array
(
)

Dificuldade em realimentar um TextBox e uma ComboBox com jquery

Pjava
   - 29 out 2014

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:
#Códigofunction 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:
#Códigopublic 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);
}

Joel Rodrigues
   - 30 out 2014

Tente passar o parâmetro direto, sem converter para JSON.

0
|
0

Pjava
   - 30 out 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.

0
|
0

Pjava
   - 30 out 2014

Fazendo debug da minha aplicação, veio esse erro:

#Código<!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

0
|
0

Pjava
   - 05 nov 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.

0
|
0

Joel Rodrigues
   - 05 nov 2014

Tire o new e deixe apenas:
#Códigoreturn Json(result_carrega_pagina, JsonRequestBehavior.AllowGet);

0
|
0

Pjava
   - 05 nov 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.

#Código$('#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);
}
})
}

0
|
0

Pjava
   - 05 nov 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?

0
|
0

Pjava
   - 05 nov 2014

Esse é o erro que dá:

#CódigoPOST 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

0
|
0

Pjava
   - 05 nov 2014

Resolvi assim:

#Códigofunction 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);
}
})
}

0
|
0