取消在ajax中通过post传递的变量

时间:2014-07-14 14:11:14

标签: javascript php jquery ajax post

我的javascript文件中有ajax代码,如下所示:

// Default settings for Ajax requests
        $.ajaxSetup({
            type: 'POST',   
            url: path + '/relay.php'+ '?curr=' + currency + "&ver=" + Math.random(),
            success: function(response) {
                // Refresh the cart display after a successful Ajax request
                container.html(response);
                $('#jcart-buttons').remove();
            },
               .......

以上将发布为(在萤火虫中):

POST http://www.myshop.com/cart/relay.php?curr=EUR&ver=0.5750630930208085

我有一个删除功能如下:

function remove(link) {
        // Get the query string of the link that was clicked
        var queryString = link.attr('href');
        queryString = queryString.split('=');

        // The id of the item to remove
        var removeId = queryString[1];

        // Remove the item and refresh cart display
        $.ajax({
            type: 'GET',
            data: {
                "jcartRemove": removeId,
                "jcartIsCheckout": isCheckout
            }
        });
    }

删除将显示如下(firebug)

GET http://www.myshop.com/cart/relay.php?curr=EUR&ver=0.5750630&jcartRemove=5

我也需要删除curr变量......

我如何在上面的删除链接代码???

中执行此操作

2 个答案:

答案 0 :(得分:0)

更改AJAX方法,因为您从URL 发送参数(这是发送参数的get方法)

$.ajaxSetup({
        type: 'GET',   
        url: path + '/relay.php'+ '?curr=' + currency + "&ver=" + Math.random(),
        success: function(response) {
            // Refresh the cart display after a successful Ajax request
            container.html(response);
            $('#jcart-buttons').remove();
        },

$.ajax({
        type: 'POST',
        data: {
            "jcartRemove": removeId,
            "jcartIsCheckout": isCheckout
        }
    });

这里是链接:

  

LINK AJAX   

<小时/>   LINK POST   
  LINK GET

答案 1 :(得分:0)

1.您需要更改$ .ajaxSetup方法,即此方法中使用的网址,即     url:path +&#39; /relay.php' +&#39;?curr =&#39; +货币+&#34;&amp; ver =&#34; + Math.random() 包含curr和ver参数,但你不需要删除函数中的curr变量所以你需要从这个url中删除curr varible,并且只在需要它的特定ajax调用中添加curr变量。

2.默认情况下,您的网址应该是 url:path +&#39; /relay.php?ver =&#39; + Math.random()

并使用数据参数在后续的ajax调用中添加curr varible。

3.现在,当你调用remove函数时,默认查询字符串将不包含curr参数。

function remove(link) {
        // Get the query string of the link that was clicked
        var queryString = link.attr('href');
        queryString = queryString.split('=');

        // The id of the item to remove
        var removeId = queryString[1];

        // Remove the item and refresh cart display
        $.ajax({
            type: 'GET',
            data: {
                "jcartRemove": removeId,
                "jcartIsCheckout": isCheckout
            }
        });
    }

获取http://www.myshop.com/cart/relay.php?ver=0.5750630&jcartRemove=5&jcartIsCheckout=true 如果isCheckout = true 获取http://www.myshop.com/cart/relay.php?ver=0.5750630&jcartRemove=5&jcartIsCheckout=false 如果isCheckout = false

如果您有任何疑问,请发帖。