ajax aftersuccess,Ajax call function after success

可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):

问题:

I'm working on a site, where we get information from an XML-file. It work great, but now I need to make a slider of the content. To do this, I will use jCarousel that claims they can do it with Dynamicly loaded content, by calling a callback function.

I can't, however, make the initial ajax load, when I call a function on success. What am I doing wrong?

$(document).ready(function() {

$.ajax({

type: "GET",

//Url to the XML-file

url: "data_flash_0303.xml",

dataType: "xml",

success: hulabula()

});

function hulabula(xml) {

$(xml).find('top').each(function() {

var headline = $(this).find('headline1').text();

var headlineTag = $(this).find('headline2').text();

$(".wunMobile h2 strong").text(headline + " ");

$(".wunMobile h2 span").text(headlineTag);

});

..............

Am I doing anything wrong??? Or is it a totally diffenerent place I have to look? :-)

回答1:

Use hulabula instead of hulabula() or pass the function directly to the ajax options:

1.

$.ajax({

type: "GET",

//Url to the XML-file

url: "data_flash_0303.xml",

dataType: "xml",

success: hulabula

});

2.

$.ajax({

type: "GET",

//Url to the XML-file

url: "data_flash_0303.xml",

dataType: "xml",

success: function(xml) { /* ... */ }

});

回答2:

Use $.when

function hulabula(xml) {

$(xml).find('top').each(function() {

var headline = $(this).find('headline1').text();

var headlineTag = $(this).find('headline2').text();

$(".wunMobile h2 strong").text(headline + " ");

$(".wunMobile h2 span").text(headlineTag);

});

}

var ajaxCall = $.ajax({

type: "GET",

//Url to the XML-file

url: "data_flash_0303.xml",

dataType: "xml"

});

//Use deferred objects

$.when(ajaxCall)

.then(function(xml) { hulabula(xml); });

回答3:

You can do it like this:

$.post( "user/get-ups-rates", { cart_id: cart_id, product_id: product_id, service_id:service_id })

.done(function( data ) {

el.parent().find('.upsResult').html('UPS Shipping Rate Is $'+data.rate);

})

.fail(function(data) {

el.parent().find('.upsResult').html('

UPS Service Error Occured.

');

})

.complete(function (data) {

setShippingOptions(cart_id,product_id,service_id,data.rate);

});

Just call the function in 'complete' not in 'done' or 'success'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值