在单独的javascript函数中调用ajax

时间:2014-06-19 07:33:20

标签: javascript jquery ajax

我是jquery,ajax中的新手,但我想在单独的javascript函数中调用ajax,因为JSP文件是动态创建的,JSP文件中的按钮id也是使用for循环创建的。 我共享我的代码,并且有一个解决方案,将按钮id传递给jquery函数,并将该id传递给通过Jquery调用的ajax。

以下是通过jquery调用ajax的.js文件的代码:

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);
    }   
});

}

我想传递" qtsrl_id" to" aftermarksave.jsp"通过Jquery:Ajax

这是我动态生成的.JSP文件,"这个"被传递给javascript函数并从"这个"中提取当前的id。对象

fw1.write("<td><lable for='marksimilar'>"+getmarkentry+"</lable>");
                fw1.write("<input type='hidden'    id='markentry_"+getmarkentry+"' value="+getmarkentry+">");
                fw1.write("<br>");
                fw1.write("<label>Serial No</label>");
                fw1.write("<br>");
                fw1.write("<input type='text' size='10' id='qstn_srl_"+queserial+"_"+queno+"' onBlur='makecapital();doOnBlur(this)'>");
                fw1.write("<br>");  
                fw1.write("<label>Question No</label>");
                fw1.write("<br>");
                fw1.write("<input type='text' size='10' id='qstn_no_"+queserial+"_"+queno+"' onBlur='doOnBlur(this)'>");
                fw1.write("<br>");
                fw1.write("<input type='button' id='btn_mark_"+queserial+"_"+queno+"' onClick=**'insertData(this)'** value='Mark'>");                                   
                fw1.write("<br>");
                if(getmarkentry.equals(""))
                {
                    fw1.write("<input type='button' id='btn_delete' onClick='mark_same()' value='UnMark' disabled='disabled'></td>");                                   
                }
                else
                {
                    fw1.write("<input type='button' id='btn_delete' onClick='mark_same()' value='UnMark'></td>");                                   
                }
                fw1.write("</tr>");
                fw1.write("<tr>");

在上面的代码&#34; insertData(this)&#34;单击按钮时调用,我希望在该单击时通过jquery调用ajax。我们如何在javascript函数中实现这一点。

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

将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);
    });
})

我希望这会有所帮助。