Jquery 动态AJAX URL javascript
如果你有一个工作良好的AJAX,比如这个Jquery 动态AJAX URL javascript,jquery,ajax,Jquery,Ajax,如果你有一个工作良好的AJAX,比如这个 <script type="text/javascript"> var myURL = ""; $(document).ready(function(){ $("#advancedUpload").uploadFile({ url:myURL, allowedTypes:"csv", fileName:"myfile" }); $(".cbs").on('change', function(){
<script type="text/javascript">
var myURL = "";
$(document).ready(function(){
$("#advancedUpload").uploadFile({
url:myURL,
allowedTypes:"csv",
fileName:"myfile"
});
$(".cbs").on('change', function(){
if($('.cbs:checked').length !== 0){
myURL = "my.php?action=upload";
$(".cbs:checked").each(function(){
myURL += "&" + $(this).attr('name') + "=" + $(this).val() ;
});
}else{
}
);
});
});
var myURL=“”;
$(文档).ready(函数(){
$(“#advancedUpload”).uploadFile({
url:myURL,
允许的类型:“csv”,
文件名:“myfile”
});
$(“.cbs”).on('change',function(){
如果($('.cbs:checked')。长度!==0){
myURL=“my.php?action=upload”;
$(“.cbs:checked”).each(函数(){
myURL+=“&”+$(this.attr('name')+“=”+$(this.val();
});
}否则{
}
);
});
});
问题是每次我选中复选框时,我都想更改var req
,而且它也起作用,我可以更改变量值。但是我的AJAX仍然是指变量的初始值。有人知道为什么吗
谢谢。您需要重新输入jQuery上载文件以更改目标上载url。它曾在init$(“#advancedUpload”).uploadFile({…config…})上安装过一次,并且没有与其变量的链接 或者有更好的变体:
$(“#advancedUpload”).uploadFile({
url:“my.php?action=upload”,
允许的类型:“csv”,
文件名:“myfile”,
dynamicFormData:function(){
变量数据={};
如果($('.cbs:checked')。长度!==0){
$(“.cbs:checked”).each(函数(){
数据[$(this.attr('name')]=$(this.val();
});
}
返回数据;
}
});代码>
这是你想要的吗
或者使用API方法uploadObj.update({url:updatedUrl})来实际更新url代码>
其中uploadObj必须是您的$(“#advancedUpload”).uploadFile({..})代码>您需要重新输入jQuery上载文件以更改目标上载url。它曾在init$(“#advancedUpload”).uploadFile({…config…})上安装过一次,并且没有与其变量的链接
或者有更好的变体:
$(“#advancedUpload”).uploadFile({
url:“my.php?action=upload”,
允许的类型:“csv”,
文件名:“myfile”,
dynamicFormData:function(){
变量数据={};
如果($('.cbs:checked')。长度!==0){
$(“.cbs:checked”).each(函数(){
数据[$(this.attr('name')]=$(this.val();
});
}
返回数据;
}
});代码>
这是你想要的吗
或者使用API方法uploadObj.update({url:updatedUrl})来实际更新url代码>
其中uploadObj必须是您的$(“#advancedUpload”).uploadFile({..})
如果您正在使用插件,则应调用其update()
方法来更改初始url
选项:
$(文档)
.ready(函数(){
var Upload=$(“#advancedUpload”)
.uploadFile({
url:“”,
允许的类型:“csv”,
文件名:“myfile”
});
$(“.cbs”)
.on('change',function(){
如果($('.cbs:checked')。长度!==0){
var myURL=“my.php?action=upload”;
$(“.cbs:checked”)。每个(函数(){
myURL+=“&”+$(this.attr('name')+
“=”+$(this.val();
});
上传.更新({
url:myURL
})
}否则{
上传.更新({
网址:“
})
}
});
});
请注意,我还没有测试它,但从我在他们的文档中看到的情况来看,它应该可以工作。如果您使用插件,您应该调用它的update()
方法来更改初始url
选项:
$(文档)
.ready(函数(){
var Upload=$(“#advancedUpload”)
.uploadFile({
url:“”,
允许的类型:“csv”,
文件名:“myfile”
});
$(“.cbs”)
.on('change',function(){
如果($('.cbs:checked')。长度!==0){
var myURL=“my.php?action=upload”;
$(“.cbs:checked”)。每个(函数(){
myURL+=“&”+$(this.attr('name')+
“=”+$(this.val();
});
上传.更新({
url:myURL
})
}否则{
上传.更新({
网址:“
})
}
});
});
请注意,我还没有对它进行测试,但从我在他们的文档中读到的内容来看,它应该可以工作。大多数程序员看到您的问题时都会预感到这是怎么回事。这可能与范围有关。但大多数程序员也不喜欢猜测和假设。你能帮我解决一下你的问题吗?我们对您如何定义函数以及如何调用这些函数感兴趣。我编辑了我的帖子。看,我设置了一个变量myURL,它应该是AJAX的URL。每次我选中复选框时,URL都会更改。它改变了,它工作了。但问题是,当我调用AJAX函数时,AJAX仍然会得到初始值(“”)为空。我不知道为什么@Andreigheorghiu大多数程序员在看你的问题时都会预感到这是关于什么的。这可能与范围有关。但大多数程序员也不喜欢猜测和假设。你能帮我解决一下你的问题吗?我们对您如何定义函数以及如何调用这些函数感兴趣。我编辑了我的帖子。看,我设置了一个变量myURL,它应该是AJAX的URL。每次我选中复选框时,URL都会更改。它改变了,它工作了。但问题是,当我调用AJAX函数时,AJAX仍然会得到初始值(“”)为空。我不知道为什么@Andreigheorghiuca您能扩展您的解决方案吗?我知道您不需要在ajax请求中更改url。您可以使用dynamicFormData参数发送它。见第6段)。把零钱放在这里,尽情享受<代码>变量数据={};数据[$(this.attr('name')]=$(this.val();返回数据代码>为您添加需要条件,无论何时需要发送。您可以扩展您的解决方案吗?我发现您不需要在ajax请求中更改url。您可以使用dynamicFormData参数发送它。见第6段)。把你的零钱放在这里