Я использую Ajax-файл для загрузки с его библиотекой javascript / jQuery .
При загрузке файла я получаю сообщение об ошибке: SyntaxError: invalid label
Это мой JS-скрипт:
jQuery('.uploadImage').live('click',function() {
ajaxFileUpload();
});
(...)
function ajaxFileUpload(){
jQuery.ajaxFileUpload({
url:'../wp-content/plugins/wp-filebrowser/uploader.php',
secureuri:false,
fileElementId:'uploadFile',
dataType: 'json',
success: function (data, status){
if(typeof(data.error) != 'undefined'){
if(data.error != ''){
alert(data.error);
}else{
alert(data.msg);
}
}
},
error: function (data, status, e){
alert(data + ' - ' + status + ' - ' + e);
}
}
)
return false;
}
Мой PHP-скрипт работает (проверено перед использованием json / jquery), но, должно быть, что-то не так с моим выводом json из моего PHP-файла.Я попробовал два подхода.
Я использую json_encode для форматирования вывода.Вот часть моего PHP-кода:
(...)
// Error message is at this stage empty.
move_uploaded_file($_FILES["file"]["tmp_name"], $uploadfile);
$respons = $_FILES["file"]["name"]._e(' successfully uploaded');
$data = array( "error"=> $error, "msg"=> $respons );
echo json_encode($data);
ОБНОВЛЕНИЕ
Оказывается, я использовал Worpdress _e()
для поддержки мультиязычности.Проблема в том, что _e()
отображает содержимое и загромождает ответ JSON.Как только я переключился на __()
, это сработало.
Спасибо за помощь в отладке этой проблемы, ребята.