здравствуйте, пытаюсь сделать отправку данных в месте с файлом, всё отправляются нормально, но решил сделать сообщение с сервера клиенту, об ошибке или об успешной передаче, собственно вот код
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="jquery.form.js" type="text/javascript"></script>
<script type="text/javascript">
<!--
$(document).ready(function() {
   $("#frm").ajaxForm({
      // dataType: "json",
      beforeSubmit: function(dataFrm, obj, option) {
         $("#result_load").show();
         $("#result_load").html("Загрузка...");
         $("#go").enable(false); // Деактивируем кнопку
      },
      success: function(data){
      var res = JSON.parse(data);
                        if (res['err']=='1'){
                               $("#result_load").hide();
                               $("#result").html(res['msg']);
                               $("#go").enable(true); // Делаем кнопку активной
                        }else{
                               $("#result_load").hide();
                               $("#result").html(res['msg']);
                               $("#go").enable(true); // Делаем кнопку активной
                        }
      },
      clearForm: true // Устанавливаем значения по умолчанию
   });
});
//-->
</script>
<div id="result_load"></div>
<form action="upload.php" id="frm" method="POST" enctype="multipart/form-data">
<input type="text" name="txt1"><br>
<input type="text" name="txt2" value="Текст"><br>
<input type="hidden" name="MAX_FILE_SIZE" value="30000000">
<input type="file" name="file_name">
<input type="submit" name="go" id="go" value="Загрузить файл">
</form>
<b>Ответ сервера:</b><br>
<div id="result"></div>
<?php
 header('Content-Type: text/html; charset=utf-8');
 $res = array();
 if($_POST['txt1'] == ''){
    $res['msg'][] = 'Поле txt1 не заполнено!';
 }
 if($_POST['txt2'] == ''){
    $res['msg'][] = 'Поле txt2 не заполнено!';
 }
 if (!isset($_FILES['file_name']))
 {
      $res['msg'][] = 'Файл не выбран';
 }elseif($_FILES['file_name']['error'] == 0 && $_FILES['file_name']['size'] > 0 && $_FILES['file_name']['size'] < 30000000) {
      $path = "C:/wamp/www/jquery/form/";
      $path .= basename($_FILES['file_name']['name']);
      $tmp = $_FILES['file_name']['tmp_name'];
      if (!@move_uploaded_file($tmp, $path))
      {
          $res['msg'][] = 'Ошибка при копировании файла';
      }
 }else{
      $res['msg'][] = 'Ошибка при загрузке. Код: ' . $_FILES['file_name']['error'];
 }
 $output = '';
 $res2 = array();
 if( @sizeof($res['msg']) > 0 ){
   foreach(@$res['msg'] as $index => $val)
   {
      $output .= $val.'<br>';
   }
    $res2['msg'] = $output;
    $res2['err'] = '1';
 }else{
    $res2['msg'] = 'Даные были сохранены успешно';
    $res2['err'] = '0';
 }
  echo '{"msg":"'.$res2['msg'].'","err":"'.$res2['err'].'"}';
?>
проверил в FireFox 3.6 и Chrome всё работает нормально, а в IE8 выдаёт такую ошибку
	
	| Код: | 
	| Сообщение: 'JSON' - определение отсутствует
Строка: 23
Символ: 7
Код: 0
URI-код: http://localhost/jquery/form/index.php | 
	
23 строка это: var res = JSON.parse(data);
в опере 10 выдаёт 
	
	| Код: | 
	| {"msg":"Поле txt1 не заполнено!<br>Поле txt2 не заполнено!<br>","err":"1"} | 
	
подскажите что делаю не так?
каким образом определить JSON то что просит IE сделать?
ещё, если убераю коментарии в коде JS в этой строчке
// dataType: "json",
то но водном браузере не работает