Ajax调用问题

时间:2010-11-28 02:44:22

标签: javascript jquery ajax

我在从此ajax调用返回HTML时遇到问题。它在FF中工作正常,但在IE中为alert(result.html());

提供了一个“null”

这是代码。有任何想法吗?感谢!!!

IE中的errors变量也为空。

此外,我在.find()中使用的元素仍然没有区别,因为它仍然是空的。

function update_price() {
    $.ajax({
        url: $("form[name='MainForm']").attr('action'),
        data: $("form[name='MainForm']").serialize() + '&btnupdateprice.x=0&btnupdateprice.y=0',
        type: 'POST',
        cache: false,
        success: function (response) {
            var errors = $(response).find("#listOfErrorsSpan");
            var result = $(response).find(".colors_productprice:eq(0)");
            alert(result.html());
            $(".colors_productprice:eq(0)").replaceWith('<font class="colors_productprice">' + result.html() + '</font>');
            $('#listOfErrorsSpan').replaceWith('<span id="listOfErrorsSpan">' + errors.html() + '</span>');
        }
    });
}

$(function () {
    $("select[name^='SELECT___'],input[name^='SELECT___'][type='radio']").each(function () {
        $(this).change(function () {
            update_price();
        });
    });
    $("a[href^='javascript:change_option']").each(function () {
        $(this).click(function () {
            var result_href = $(this).attr('href').match(/\'(.*?)\'/)[1];
            var result_val = $(this).attr('href').match(/\,(.*?)\)/)[1];
            change_option(result_href, result_val);
            update_price();
            return false;
        });
    });
});

以下是Ajax调用中的HTML。

<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<b><font class="pricecolor colors_productprice"><span class="price_name"><font class="text colors_text"><b>Our Price: </b></font></span>
<span class="price1">$505.00</span>
</font>
</b>
</tr>
</table>

在FF中我得到了警报。

<span class="price_name"> Price with added options: </span><span class="price1">$505.00</span> 

3 个答案:

答案 0 :(得分:0)

您可能在此代码上有错误

var errors=$(response).find("#listOfErrorsSpan");

var result = $(response).find(“。colors_productprice:eq(0)”); 警报(result.html());

我不确定$(响应)的选择器是否未定义

答案 1 :(得分:0)

你的find语句中的eq(0)可能是问题所在。只需说find(“。colors_productprice”)就足够了。

答案 2 :(得分:0)

您没有</td>

不确定这是根本问题,但FF和IE在quirksmode中的工作方式不同,尤其是在动态插入元素时。