1

我有一个搜索文本框,搜索结果将显示一个图表,我将该结果保存在数据库中

但是第一次会正常保存,第二次会保存2次,第三次会保存3次,

$('#twitsave1').click(function(el)
{ 

    if ( $("#twitsave1").prop('checked') == true ){

    //console.log( el.timeStamp);
    var reId=$(this).next().next().html();
    console.log(reId);
    var key=$('.searchBar input[type="text"]').val();
    var timeStamps = el.timeStamp;
    var loginname = AppAPI.getUser();
    var logTypes = 'EVIDENCE';
    var dataSources = 'Twitter';

    AppAPI.showLoadingBar('Saving'); 

    var data=JSON.stringify({
        "login":loginname ,
        "value": reId,
        "logType": logTypes,
        "title": 'Twitter - '+key,
        "dataSource":dataSources,
        "timeStamp": timeStamps,
        "searchDateRange":startdate+":"+endDate
   });

   console.log(data);
   var url=getApplicationRoot() +'/api/dao/logEntry';
   $.ajax({
    type:"POST" ,
    url:url,
etc.......

在 console.log(data) 我得到 3 或 4 倍相同的数据请帮助

4

3 回答 3

2

可能这个点击绑定:$('#twitsave1').click()在点击处理程序中再次执行。

  • 您是否在再次发生此 click() 绑定时调用刷新/重绘函数?
  • 点击是否触发 AJAX 调用,该调用返回添加到页面的 javascript 代码?而不是检查该 javascript 是否再次添加 click() 绑定。
于 2013-05-22T06:54:26.767 回答
1

问题可能是点击被多次触发。改为使用.one()。这个处理程序只会执行一次。

于 2013-05-22T07:05:55.260 回答
-1

尝试为按钮添加禁用或只读属性。该用户将无法一次又一次地单击它。

于 2013-05-22T06:56:59.250 回答