Javascript 如何在cold fusion中通过ajax和jquery加载页面?
当我运行这个脚本时,我得到Javascript 如何在cold fusion中通过ajax和jquery加载页面?,javascript,jquery,ajax,Javascript,Jquery,Ajax,当我运行这个脚本时,我得到AjaxFunction是未定义的。我已经搜索并知道它没有在适当的范围内定义,但是任何人都可以让我知道定义它的正确方式以及错误的原因 <script type=”text/javascript”> function(AjaxFunction) { alert(“test”); $.ajax({ type: “GET”, url: “cfquery.cfm”, success: function (re
AjaxFunction是未定义的
。我已经搜索并知道它没有在适当的范围内定义,但是任何人都可以让我知道定义它的正确方式以及错误的原因
<script type=”text/javascript”>
function(AjaxFunction) {
alert(“test”);
$.ajax({
type: “GET”,
url: “cfquery.cfm”,
success: function (res) {
alert(res);
document.getElementById("loadingdiv").style.display = ”block”;
document.getElementById("loadingdiv").innerHTML = res;
}
});
};
</script>
<cfform id="PageloadAjax" name="PageloadAjax">
<div id="Displayingdiv" name="displayingdiv">
<cfinput id="CFQUERYbutton" name="CFQUERYbutton" type="button" value="Displaypage" onclick="AjaxFunction">
</div>
<div id="loadingdiv" name="loadingdiv"></div>
</cfform>
函数(AjaxFunction){
警报(“测试”);
$.ajax({
键入:“获取”,
url:“cfquery.cfm”,
成功:功能(res){
警报(res);
document.getElementById(“loadingdiv”).style.display=“block”;
document.getElementById(“loadingdiv”).innerHTML=res;
}
});
};
试试这个
<script type=”text/javascript”>
function AjaxFunction() {
alert(“test”);
$.ajax({
type: “GET”,
url: “cfquery.cfm”,
success: function (res) {
alert(res);
document.getElementById("loadingdiv").style.display=”block”;
document.getElementById("loadingdiv").innerHTML=res;
}
});
};
</script>
函数AjaxFunction(){
警报(“测试”);
$.ajax({
键入:“获取”,
url:“cfquery.cfm”,
成功:功能(res){
警报(res);
document.getElementById(“loadingdiv”).style.display=“block”;
document.getElementById(“loadingdiv”).innerHTML=res;
}
});
};
并在
onclick=“AjaxFunction()”
中调用函数。现在,您正在使用AjaxFunction作为参数定义一个匿名函数。要让它发挥作用,第一步就是改变
function(AjaxFunction) {...}
进入
此外,在onClick属性中,必须调用函数,而不仅仅是命名它。所以改变
onclick="AjaxFunction"
进入
我建议看一些基本的JavaScript材料,以便更容易理解和解决这些小问题。你可以从简单易懂的教程开始,或者如果你想要更深入的JavaScript知识。对我来说非常有效的答案是:
the answer that perfectly worked for me is:
<script type="text/javascript">
function AjaxFunction(mode) {
var url="";
if ( mode =="contacts") url = "cfquery.cfm";
if ( mode =="tagsvsscripts") url = "cfqueryprogram.cfm";
if ( mode =="siteinfo") url = "CFtagsvsscripts.cfm";
if ( mode =="Jqueryhide") url = "dynamic.cfm";
$.ajax({
type: "GET",
url: url,
success: function (res) {
$("#results").addClass("loading");
document.getElementById("loadingdiv").style.display="block";
$("#results").html(res);
$("#results").removeClass("loading");
}
});
}
</script>
<div class="card mb-4">
<div class="card-header bg-secondary">
Ajax Page Load Example Using Bootstrap
</div>
<div class="card-block">
<div class="row">
<div class="col-lg-3 col-xl-2 col-form-label">
<input class="btn btn-primary" name="CFQUERYbutton"
type="button" value="Displaypage" onclick="AjaxFunction('Jqueryhide')">
<br><input class="btn btn-primary"
name="CFQUERYbutton" type="button" value="Displaypage"
onclick="AjaxFunction('contacts')">
<br><input class="btn btn-primary"
name="CFQUERYbutton" type="button" value="Displaypage"
onclick="AjaxFunction('tagsvsscripts')">
<br><input class="btn btn-primary"
name="CFQUERYbutton" type="button" value="Displaypage"
onclick="AjaxFunction('siteinfo')">
</div>
<div id="loadingdiv" name="loadingdiv">
</div>
<div id="results"></div>
</div>
</div>
</div>
功能AJAX功能(模式){
var url=“”;
如果(mode==“contacts”)url=“cfquery.cfm”;
如果(mode==“tagsvsscripts”)url=“cfqueryprogram.cfm”;
如果(mode==“siteinfo”)url=“CFtagsvsscripts.cfm”;
如果(mode==“Jqueryhide”)url=“dynamic.cfm”;
$.ajax({
键入:“获取”,
url:url,
成功:功能(res){
$(“#结果”).addClass(“加载”);
document.getElementById(“loadingdiv”).style.display=“block”;
$(“#结果”).html(res);
$(“#结果”).removeClass(“加载”);
}
});
}
使用引导的Ajax页面加载示例
function(AjaxFunction){
应该是function AjaxFunction(){
并且onclick=“AjaxFunction”
应该是onclick=“AjaxFunction()”
或者更好的是一个不引人注目的事件处理程序。还要注意,一些双引号无效。请使用“
或”
,而不是”
非常感谢您,我已根据您的建议编辑了我的答案,但我再次得到“AjaxFunction未定义”错误。这可能是什么原因?脚本中可能存在另一个语法错误,我不确定ColdFusion是否尝试对其进行求值。您的编辑器似乎使用了错误的引号,请将您的“
更改为”
或“
,因为当前代码不是有效的JavaScript。这可能是问题所在。
onclick="AjaxFunction()"
the answer that perfectly worked for me is:
<script type="text/javascript">
function AjaxFunction(mode) {
var url="";
if ( mode =="contacts") url = "cfquery.cfm";
if ( mode =="tagsvsscripts") url = "cfqueryprogram.cfm";
if ( mode =="siteinfo") url = "CFtagsvsscripts.cfm";
if ( mode =="Jqueryhide") url = "dynamic.cfm";
$.ajax({
type: "GET",
url: url,
success: function (res) {
$("#results").addClass("loading");
document.getElementById("loadingdiv").style.display="block";
$("#results").html(res);
$("#results").removeClass("loading");
}
});
}
</script>
<div class="card mb-4">
<div class="card-header bg-secondary">
Ajax Page Load Example Using Bootstrap
</div>
<div class="card-block">
<div class="row">
<div class="col-lg-3 col-xl-2 col-form-label">
<input class="btn btn-primary" name="CFQUERYbutton"
type="button" value="Displaypage" onclick="AjaxFunction('Jqueryhide')">
<br><input class="btn btn-primary"
name="CFQUERYbutton" type="button" value="Displaypage"
onclick="AjaxFunction('contacts')">
<br><input class="btn btn-primary"
name="CFQUERYbutton" type="button" value="Displaypage"
onclick="AjaxFunction('tagsvsscripts')">
<br><input class="btn btn-primary"
name="CFQUERYbutton" type="button" value="Displaypage"
onclick="AjaxFunction('siteinfo')">
</div>
<div id="loadingdiv" name="loadingdiv">
</div>
<div id="results"></div>
</div>
</div>
</div>