2010-09-28 7 views
0

Я использовал функции ajax, такие как $ .post(), используя jQuery 1.3.2 и был успешным до сегодняшнего дня, когда я переключился на v1.4.2 после загрузки jquery UI (jquery-ui-1.8.5 .custom.min.js) для использования переключателей jQuery UI ($("#radio").buttonset();), который не работал с моей версией (он сказал, что .buttonset() не определен).
После перехода на новую версию, кажется, обратный вызов в $.post не работает. Вызов сделан (я вижу ответ в firebug)
Может ли кто-нибудь сказать мне, что не так, и как его исправить? Скажите, пожалуйста, нужна ли дополнительная информация. Я не добавил никакого кода, поскольку я думаю, что это не ошибка кодирования.
Благодаря

EDIT
Это мой код ...
jQuery ajax проблема обратного вызова

<script language="javascript" src="jquery-1.4.2.js"></script> 
<script language="javascript" src="jquery-ui-1.8.5.custom.min.js"></script> 
</head> 

<body> 
<script> 
function get() { 
    $.post("php.php",{arg:"post"}, 
      function (data) { 
       alert(data); 
      }); 
} 
</script> 
<input type="button" value="Click" onclick="get()" /> 

и PHP:

<?php 
    if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
     die('post'); 
    } else { 
     die('get'); 
    } 
?> 
+0

Является ли тип данных json? –

+0

Просьба указать код обратного вызова $ .post. То, как работа обратных вызовов изменилась тонко в 1.4.2, особенно при выполнении замены на html, который содержит встроенный javascript – Clicktricity

+0

да. Я установил datatype для json. Я также попробовал тестовый скрипт с возвратом текста, но не повезло .. – shyam

ответ

0

Что тип содержимого передается в заголовке ответа с сервера? Я смог воспроизвести его здесь http://jsfiddle.net/F58Yu/4/ путем форматирования текста/xml в качестве типа содержимого ответа и недопустимого XML в качестве содержимого.

Не с любыми другими типами, хотя .. Без набора данныхType, который есть.

function get() { 
$.post("/echo/xml/",{xml:"<test>a/test>"}, 
     function (data) { 
      alert(data);    
      console.log("Returned"); 
      console.dir(data); 
     }); 

}

Адрес и POST-данных является особенностью jsfiddle для тестирования AJAX, делает то, что я описал.