ответ от сервера воспринимается браузером как файл

loveaboveall

Новичок
Всем здравствуйте, Перерыл что только мог, проблема в следующем. Плагином Jquery form выгружаю ajax запросом данные полей и файл на сервер . на сервер тра ляллял и возврат данные json вот так:
$aData = array(
'success' => true,
'data' => 'test'
);
header('Content-type: application/json; charset=utf-8');
echo json_encode($aData);
exit();


на клиенте принимаю данные пытаюсь расапрсить посомтреть и тут ахтунг. в хроме работает в файрфоксе да а в ie и опера предлагают скачать файл index.php или просомтреть ((

функция

var options = {
url:'index.php',
type:'POST',
dataType:'json',
iframe: true,
success: myfunc
};

function myfunc(jsonData){

alert(jsonData.data);
};

$("#order_form").ajaxSubmit(options);


В ie ответ приходит : а хотите скачать или открыть файл index php. в нем строчка
{success:true;data:test}

Вопрос. Мне ненадо чтобы браузер предлагал мне такую ерунду а просто выводил мне алертом значение пришедшее ответом. Как это сделать?
 

fixxxer

К.О.
Партнер клуба
Проверь curl'ом или сниффером какой content type приходит на самом деле
 

loveaboveall

Новичок
проверил другие ключи и оказывается не работает вообще. если пытаюсь взять значение success в массиве, то хром все равно выводит test. Я так понял Хрому вообще пофиг он просто выводит все что в data. Не знаю что происходит
 

loveaboveall

Новичок
Проблема решилась. Скачал свежую версию Jquery.form и в параметрах передачи установил iframe: false, так как возврат от сервера приходил в iframe и поэтому воспринимался как файл. Теперь вроде все заработало)
 
Сверху