当我尝试将json数据发送到codeigniter中的控制器时,我无法弄清楚为什么我继续得到parseerror。 这是我的简单形式:
<div style="" id="message_abuso" class="error">parsererror</div>
<div style="display:none;" id="inviato_abuso"> Notifica abuso inviata! </div>
<div style="display: none;" id="waiting_abuso">
<img alt="Loader" title="Loader" src="http://****:8888/addons/default/themes/THEME/img/ajax-loader.gif">
</div>
<form id="form_abuso" style="display: block;">
<input type="hidden" value="1" name="id_utente" id="id_utente">
<input type="hidden" value="3" name="id_animale" id="id_animale">
<textarea name="testo" id="testo_abuso" rows="10" cols="20"></textarea>
<input type="submit" class="riporta_abuso" value="">
这是我的jquery脚本:
<script type="text/javascript">
$(document).ready(function(){
$('.riporta_abuso').click(function() {
$('#waiting_abuso').show(500).delay(2000);
$('#form_abuso').hide(0);
$('#message_abuso').hide(0);
$('#inviato_abuso').hide(0);
$.ajax({
type : 'POST',
url : 'http://****:8888/canile/notifica_abuso',
dataType : 'json',
data: {
id_animale: $('#id_animale').val(),
id_utente: $('#id_utente').val(),
testo: $('#testo_abuso').val(),
},
success : function(data){
$('#waiting_abuso').hide(500);
$('#message_abuso').removeClass().addClass((data.error === true) ? 'error' : 'success')
.text(data.msg).delay(2000);
if (data.error === true)
{
$('#form_abuso').delay(2000).show(500);
$('#message_abuso').show(500);
}
else
{
$('#inviato_abuso').text(data.msg).delay(2000).show(500);
$('#form_abuso').delay(2500).show(500);
}
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
$('#waiting_abuso').hide(500);
$('#inviato_abuso').hide(0);
$('#message_abuso').removeClass().addClass('error')
.text(textStatus).delay(2000).show(500);
$('#form_abuso').delay(2000).show(500);
}
});
return false;
});
});
</script>
这是控制器:
function notifica_abuso()
{
$id = $this->input->post('id_animale');
$id_utente = $this->input->post('id_utente');
$testo = trim($this->input->post('testo'));
if( is_numeric($id) && is_numeric($id_utente) && $testo != "")
{
if( ! $this->canile_abusi_m->controlla_esistenza($id) )
{
if( ! $this->canile_abusi_m->notifica($id , $id_utente , $testo) )
{
//Impossibile salvare
$risposta['error'] = true;
$risposta['msg'] = "Cant save.";
echo json_encode($risposta);
exit;
}
}
//Non ci sono errori
$risposta['error'] = false;
$risposta['msg'] = "";
echo json_encode($risposta);
exit;
}
else{
//Non sono id numerici
$risposta['error'] = true;
$risposta['msg'] = "Errors errori";
echo json_encode($risposta);
exit;
}
}
每次我得到parserror
答案 0 :(得分:0)
也许这可行,取而代之:
testo: $('#testo_abuso').val(),
由此:
testo: $('#testo_abuso').val()
(在你的第二句话中)