在ajax中取消设置通过post传递的变量
Posted
技术标签:
【中文标题】在ajax中取消设置通过post传递的变量【英文标题】:unset a variable passed through post in ajax 【发布时间】:2014-09-04 11:41:30 【问题描述】:我的 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
);
remove 会显示如下(firebug)
GET http://www.myshop.com/cart/relay.php?curr=EUR&ver=0.5750630&jcartRemove=5
我也需要删除 curr 变量...
我怎样才能在上面的删除链接代码中做到这一点???
【问题讨论】:
如果要删除它,为什么要添加它? NOT 将其放入您的relay.php
脚本中开始使用不是更容易吗?
@Marc B 我需要将 curr 变量传递到另一个页面..
【参考方案1】:
更改 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
【讨论】:
抱歉,您提供的代码不起作用。删除链接停止工作 我向您展示了如何使用 ajax ...请概述您的代码并从命令中编写错误 我的问题是我需要在我的//删除商品并刷新上面的购物车显示功能中进行哪些更改。【参考方案2】:1.您需要更改 $.ajaxSetup 方法,该方法中使用的 url 即 url: 路径 + '/relay.php'+ '?curr=' + 货币 + "&ver=" + Math.random() 包含 curr 和 ver 参数,但您不需要在 Remove Function 中使用 curr 变量因此您需要从此 url 中删除 curr 变量,并仅在需要它的特定 ajax 调用中添加 curr 变量。
2.默认情况下,您的网址应该是 url: 路径 + '/relay.php?ver=' + Math.random()
并使用 data 参数在后续的 ajax 调用中添加 curr 变量。
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
如果您有任何疑问,请发布。
【讨论】:
对不起..我不明白你的回答 我需要删除之前添加的当前在查询字符串中的 curr 变量。分裂时我该怎么办??以上是关于在ajax中取消设置通过post传递的变量的主要内容,如果未能解决你的问题,请参考以下文章