Некоторые вещи, которые нужно попробовать:
ajaxForm поддерживает аргумент dataType, если вы ожидаете, что JSON поступает с сервера, используйте dataType: json
, например
$("#typeForm").ajaxForm({
success : function(html){
// html here is already automatically a json object
alert(html.prompt);
},
dataType: 'json'
}).submit();
. Могли бы вы опубликовать полный service.php? ИЛИ попробуйте следующее:
exit (json_encode (array ('file_name' => $ data ['upload_data'] ['file_name'], 'prompt' => $ str)));
blockquote>- EDIT -
Не знаете, почему json_encode возвращает такую странную строку: s,
json_encode
стандартная библиотека php или внешняя библиотека? Я спрашиваю об этом, потому что у некоторых серверов нет json_encode в их установке php ... Я тестировал на своем локальном компьютере и использовал php internal json_encode, и он отлично работает:<?php $str = "<div style='position:relative'><img src='/assets/ui/success.png' /><span style='position:relative;top:-15px;'>Nachricht empfangen!</span></div>"; echo json_encode(array('prompt' => $str)); // output //{"prompt":"<div style='position:relative'><img src='\/assets\/ui\/success.png' \/><span style='position:relative;top:-15px;'>Nachricht empfangen!<\/span><\/div>"}