我怎样才能让我的AJAX网址取决于jQuery的条件?
问题描述:
如果分度Easy
类是存在于体内,我想AJAX运行网址urlEasy.php
如果分度Medium
类是存在于体内,我希望它运行urlMedium.php
我怎样才能让我的AJAX网址取决于jQuery的条件?
尝试使用jQuery全局变量
<script>
var UrlReplacer = {};
$(document).ready(function() {
if ($("div").hasClass("Easy")){
UrlReplacer = "urlEasy.php";
} elseif ($("div").hasClass("Medium")){
UrlRreplacer = "urlMedium.php";
}
});
</script>
<script type='text/javascript'>
$(document).ready(function() {
$('#classadderform').on('submit', function(e) {
e.preventDefault();
$.ajax({
url : Urlreplacer ,
type: "POST",
data: $(this).serialize(),
success: function (data) {
},
});
});
});
</script>
当我直接写下如下所示的期望网址时,AJAX运行正常,所以问题与表单,AJAX或链接的url不相关。我也很确定地知道,一个类Easy
的div存在于身体中。 问题是创建一个全局的JQuery变量,然后我可以使用它来定义URL。
<script type='text/javascript'>
$(document).ready(function() {
$('#classadderform').on('submit', function(e) {
e.preventDefault();
$.ajax({
url : "urlEasy.php",
type: "POST",
data: $(this).serialize(),
success: function (data) {
},
});
});
});
</script>
答
把那些在同一个脚本标记,以避免全局和任何范围的问题,然后检查选择长度,看看是否在DOM
<script type='text/javascript'>
$(document).ready(function() {
var url = $("div.Easy").length > 0 ? "urlEasy" : "urlMedium";
$('#classadderform').on('submit', function(e) {
e.preventDefault();
$.ajax({
url : url + '.php',
type: "POST",
data: $(this).serialize(),
success: function (data) {
},
});
});
});
</script>
存在只是出于好奇的元素,是有一种方法可以使用全局变量来做到这一点?我从来没有能够获得由if条件定义的JQuery全局变量的工作,这似乎是一个适合的例子,用来学习如何去做 – Snoops
你真的不应该,但只是为了演示,像这样的东西 - > https://jsfiddle.net/zrzykr9g/ – adeneo
非常感谢!为什么你建议不要使用全局变量方法? – Snoops