首页 新闻 搜索 专区 学院

jquery中的ajax问题

0
悬赏园豆:10 [已解决问题] 解决于 2012-10-19 10:54

问什么进不去ajax啊,第一个alert(url)可以弹出,但是里面的那两个就弹不出来了啊,代码如下:

       function SaveSendAddress() {
        var flag = ValidAddress();
        if (flag == false)
            return;
        var orderID = jQuery('#hd_orderID').val();
        var addressID = jQuery("#hd_address1ID").val();
        var contactName = jQuery("#tb_sendContactname").val();
        var address1 = jQuery("#tb_sendAddress1").val();
        var address2 = jQuery("#tb_sendAddress2").val();
        var city = jQuery("#tb_sendCity").val();
        var province = jQuery("#tb_sendProvince").val();
        var countryID = jQuery("#tb_sendCountryID").val();
        var code = jQuery("#tb_sendCode").val();
        var phone = jQuery("#tb_sendPhone").val();
        var url = '/do3.html?type=edituseraddress1&orderID=' + orderID + '&addressID=' + addressID + '&contactName=' + escape(contactName) + '&address1=' + escape(address1)
                + '&address2=' + escape(address2) + '&city=' + escape(city) + '&province=' + escape(province) + '&countryID=' + countryID + '&code=' + escape(code) + '&phone=' + escape(phone);
        alert(url);
        jQuery.ajax(
         {
             url: url,
             async: true,
             success: function(data) {
             alert(data);
             alert(url);
                 if (data == "ok") {
                     window.location = window.location;
                 }
                 else {
                     alert('Operation failed');
                 }
             }
         });

待重逢的主页 待重逢 | 初学一级 | 园豆:5
提问于:2012-10-19 09:05
< >
分享
最佳答案
0

有可能是返回的数据格式和返回声明的数据格式不符

所以没有执行success这一步

你可以写个complete:function(data){alert(data);}看看data到底是啥

或者直接用firebug之流的看看

收获园豆:10
飞来飞去 | 老鸟四级 |园豆:2057 | 2012-10-19 09:36

我在那边输出的是ok,弹出的是[object xmlhttprequest],怎么回事啊

待重逢 | 园豆:5 (初学一级) | 2012-10-19 09:44

@待重逢: 看来就是我说的问题了,你看下后台,声明返回的数据类型是什么,再看看返回结果(用firebug或者chrome直接f12)

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-10-19 09:46

@飞来飞去: 返回的类型是void类型,结果是直接Response.Write("ok");Response.Write("error");

待重逢 | 园豆:5 (初学一级) | 2012-10-19 09:49

@待重逢: 把aspx里面的所有html代码删掉,然后.cs文件设置reponse.ContentType="text/plain",然后response.write("ok")

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-10-19 10:13

@飞来飞去: 还是一样的效果,这是怎么回事啊

待重逢 | 园豆:5 (初学一级) | 2012-10-19 10:30

@待重逢: 浏览器地址栏直接写上url,得到什么?

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-10-19 10:43
其他回答(4)
0

楼主的

url: url,这一步修改为一个固定的URL地址'http://www.qq.com'等,看看能弹出来不。用google浏览器来追踪调试js代码。

或者楼主将含HTML的全部代码贴出来,帮你看看。

acepro | 园豆:1218 (小虾三级) | 2012-10-19 09:16

html的效果能弹出来,就是不能执行里面的ajax代码啊

支持(0) 反对(0) 待重逢 | 园豆:5 (初学一级) | 2012-10-19 09:18

    alert(data);
    alert(url);

这两个弹窗是在AJAX调用执行成功后才弹得,可以分析出错的可能为 
提交到的后台URL页面没有执行成功,比如URL地址有错。你将URL地址手工写入地址栏访问看看什么效果?

支持(0) 反对(0) acepro | 园豆:1218 (小虾三级) | 2012-10-19 09:23
0

楼主,你的连着两个弹窗,第一个弹窗已经把数据传输给中断了,下面的那个数据自然弹不出来了。

诸葛非卿 | 园豆:240 (菜鸟二级) | 2012-10-19 09:19

关键是里面 的两个都没有弹出来啊

支持(0) 反对(0) 待重逢 | 园豆:5 (初学一级) | 2012-10-19 09:20
0

有点怀疑你的ajax是否请求成功了,success:function(){},error:function(){alert('error')}这样加个error看看。

Zjmainstay | 园豆:355 (菜鸟二级) | 2012-10-19 09:55

error没有执行啊

支持(0) 反对(0) 待重逢 | 园豆:5 (初学一级) | 2012-10-19 09:59
0

那个路径没有接受到吧?所以ajax在url出错。

net_miao | 园豆:218 (菜鸟二级) | 2012-10-19 10:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册