0
的JSON是我的ajax:ajaxSubmit會與jqueryForm
$('#MyUploadForm').submit(function() {
$(this).ajaxSubmit({
beforeSubmit: beforeSubmit
,dataType: 'json'
,uploadProgress: OnProgress
,resetForm: true
,success: function(data) {
console.log(data)
if(data.error) {
$("#output").css('color', 'red');
}
else {
$("#output").css('color', 'green');
}
$("#output").html(data.msg);
$('#submit-btn').show(); //hide submit button
$('#loading-img').hide(); //hide submit button
$('#progressbox').delay(10000).fadeOut(); //hide progress bar
}
,error: function(xhr){
console.log(xhr);
}
});
return false;
});
這裏是我的html:
<form action="ss.php" method="post" enctype="multipart/form-data" id="MyUploadForm">
<input name="FileInput" id="FileInput" type="file"/>
<input name="f-name" id="f-name" type="hidden"/>
<input type="submit" id="submit-btn" value="Upload"/>
</form>
PHP:
return json_encode(array(
'error'=> true
,'msg' => 'Invalid request!'
));
我得到錯誤回調。我得到這個在console.log的錯誤回調函數:
Object { readyState=4, status=200, statusText="OK", more...}
可能是我失去了一些東西,找不到它。爲什麼它沒有進入成功回調函數。
幫助表示讚賞
使用'echo json_encode(...)'和'die()'或者只是'die(json_encode(...));'insted of'return'。 – marian0 2014-09-20 12:25:56
(console.log(data))在控制檯中得到了什麼? – Tasos 2014-09-20 12:31:57
澄清@ marian0的評論'return'不會將數據返回給瀏覽器,您應該'echo'json編碼的數據以在瀏覽器中獲得響應。 – bansi 2014-09-20 12:35:06