在单独的javascript函数中调用ajax
我不熟悉jquery和ajax,但我想在单独的javascript函数中调用ajax,因为JSP文件是动态创建的,JSP文件中的按钮id也是使用for循环创建的。 我正在分享我的代码,是否有一个解决方案可以将按钮id传递给jquery函数,并通过jquery将该id传递给ajax调用 下面是.js文件通过jquery调用ajax的代码:在单独的javascript函数中调用ajax,javascript,jquery,ajax,Javascript,Jquery,Ajax,我不熟悉jquery和ajax,但我想在单独的javascript函数中调用ajax,因为JSP文件是动态创建的,JSP文件中的按钮id也是使用for循环创建的。 我正在分享我的代码,是否有一个解决方案可以将按钮id传递给jquery函数,并通过jquery将该id传递给ajax调用 下面是.js文件通过jquery调用ajax的代码: function insertData(idvalue) { var forsplit = idvalue.id.split("_"); var qtsrl =
function insertData(idvalue)
{
var forsplit = idvalue.id.split("_");
var qtsrl = forsplit[2];
var qtno = forsplit[3];
var queryid=idvalue.id;
var qtsrl_id = document.getElementById("qstn_srl_"+qtsrl+"_"+qtno).value;
var qstn_no_id = document.getElementById("qstn_no_"+qtsrl+"_"+qtno).value;
$.ajax(
{
type: "GET",
url: "aftermarksave.jsp",
data:{setvalues : qtsrl_id},
contentType: "application/json",
async: false,
success: function (data)
{
alert("Data passed");
},
error: function(data)
{
alert('Not passed Data: '+qtsrl_id);
}
});
}
这里我想通过Jquery:Ajax将“qtsrl_id”传递给“aftermarksave.jsp”
这是我动态生成的.JSP文件,“this”被传递给javascript函数,并从“this”对象提取当前id
fw1.write(“+getmarkentry+”);
fw1.写(“”);
fw1.写(“
”);
fw1.写入(“序列号”);
fw1.写(“
”);
fw1.写(“”);
fw1.写(“
”);
fw1.书面(“问题编号”);
fw1.写(“
”);
fw1.写(“”);
fw1.写(“
”);
fw1.写(“”);
fw1.写(“
”);
if(getmarkentry.equals(“”)
{
fw1.写(“”);
}
其他的
{
fw1.写(“”);
}
fw1.写(“”);
fw1.写(“”);
在上面的代码中,“insertData(this)”是在单击按钮时调用的,我希望在单击按钮时通过jquery调用ajax。我们是如何在javascript函数中实现这一点的。您可以使用如下内容: 将Ajax脚本放入函数中:
function functionWithAjaxScript(qtsrl_id){
$.ajax(
{
type: "GET",
url: "aftermarksave.jsp",
data:{setvalues : qtsrl_id},
contentType: "application/json",
async: false,
success: function (data)
{
alert("Data passed");
},
error: function(data)
{
alert('Not passed Data: '+qtsrl_id);
}
});
}
单击按钮时,使用.on()
触发函数:
$(function() {
$("#mybuttonid").on("click",function(){
functionWithAjaxScript(param);
});
})
我希望这能有所帮助。在我看来,它应该像你写的那样工作。问题是什么?它看起来更像一个servlet而不是JSP。请尝试以下操作:var forsplit=$(idvalue).attr(“id”).split(“”);问题是,在ajax中,aftermarksave.jsp没有被调用,但当我通过简单的ajax调用时,它就成功运行了,但#mybuttonid是在我的jsp页面中动态生成的,所以如何识别id2选项:1)在生成DOM属性时,必须使用一个通用类查看属性以识别它,例如:。从这一点上,您可以在jquery中使用类选择器:$(“.aGeneralName”)2)如果页面上只有一个按钮,您也可以使用选择器$('input:[type=“submit”]”),在JSP页面中有许多按钮,并且每次创建的按钮数量都是不固定的,因此我们如何识别该按钮类或按钮idOk。因此,一个页面上有多个按钮。我的代码样本
中的param
值在哪里与ajaxscript(param)一起起作用代码>来自哪里?它是否作为属性封装在button元素中,因此每个按钮中的参数都不同?例如:按钮1:
,按钮2:
,按钮x:
。我为您做了以下示例。假设JSP以这种格式或类似的格式生成HTML。如果您能够重构JSP,使其生成class
-属性和ajaxParam
,那么这个示例在您的案例中是可用的*仅供参考:*我不知道JSP,所以我不知道什么是可能的或不可能的:-)。
$(function() {
$("#mybuttonid").on("click",function(){
functionWithAjaxScript(param);
});
})