"SCRIPT5009:" handleResponse "не определен" в Internet Explorer
Кто-нибудь знает, почему это не работает в IE?
Мой код выглядит следующим образом:
var xmlDocument = encodeURI('https://api.dc1.exacttarget.com/integrate.aspx?qf=xml&xml=<?xml version="1.0" ?><exacttarget><authorization><username>EXCATTARGET-USER</username><password>EXCATTARGET-PASS</password></authorization><system><system_name>subscriber</system_name><action>add</action><search_type>listid</search_type><search_value>17571300</search_value><search_value2></search_value2><values><Email__Address>test21@email.com</Email__Address><status>active</status><Full__Name></Full__Name><ChannelMemberID></ChannelMemberID></values><update>true</update></system></exacttarget>');
$('.triggerAjax').click(function() {
$.ajax({
type: 'POST',
url: xmlDocument,
dataType: 'jsonp'
});
});
3 ответа
Решение
var xmlDocument = encodeURI('https://api.dc1.exacttarget.com/integrate.aspx?qf=xml&xml=<?xml version="1.0" ?><exacttarget><authorization><username>EXCATTARGET-USER</username><password>EXCATTARGET-PASS</password></authorization><system><system_name>subscriber</system_name><action>add</action><search_type>listid</search_type><search_value>17571300</search_value><search_value2></search_value2><values><Email__Address>test21@email.com</Email__Address><status>active</status><Full__Name></Full__Name><ChannelMemberID></ChannelMemberID></values><update>true</update></system></exacttarget>');
$('.triggerAjax').click(function() {
$.ajax({
type: 'POST',
url: xmlDocument,
dataType: 'jsonp'
});
});
SCRIPT5009: 'handleResponse' is undefined
сообщение является результатом отсутствия функции обратного вызова для success
событие. Вам необходимо предоставить исполняемый метод, как показано ниже:
$.ajax({
url: "http://api.dc1.exacttarget.com/integrate.aspx",
data: { qf:'xml', xml:xmlDocument },
dataType: "xml",
success: function ( data ) {
alert( data );
}
});
Я испытывал ту же проблему в IE9. Вполне возможно, что у вас по умолчанию установлен jQuery ajax cache (он включен по умолчанию).
Попробуйте установить кеш установки ajax на false в начале javascript вашей страницы:
$(document).ready(function() {
$.ajaxSetup({ cache: false });
// your other initialization work goes here...
}
У меня была та же самая проблема вчера, и это решило ее для меня. Надеюсь это поможет.
Для дальнейшего чтения, перейдите по этой ссылке: http://www.peteonsoftware.com/index.php/2010/08/20/the-importance-of-jquery-ajaxsetup-cache/