dongrou2920 2013-12-18 18:11
浏览 28
已采纳

将AJAX发送到PHP,更新数据库,获取新的JSON

I have the following code:

$(document).ready(function() {
$.getJSON('model.php',function(data) {
    $('h1').append(data['event']);
    $('.img-circle').attr('src',data['image'])
    $('a').attr('href',data['url']);
    var eventname = data['event'];

$('.starter-template').on("swipeleft",function() {
    var events = {'event': eventname};
    $.ajax({
        type: "POST",
        url: "getchoices.php",
        dataType: 'json',
        data: {event: JSON.stringify(eventname) }
    });
})
})
})

It takes a swipe, and sends that data to the database. The change in the database then updates the model.php JSON, which I would like to then read the new values into the document, but I am stuck on how to do this. Originally I repeated the original section like so:

$(document).ready(function() {
$.getJSON('model.php',function(data) {
    $('h1').append(data['event']);
    $('.img-circle').attr('src',data['image'])
    $('a').attr('href',data['url']);
    var eventname = data['event'];

$('.starter-template').on("swipeleft",function() {
    var events = {'event': eventname};
    $.ajax({
        type: "POST",
        url: "getchoices.php",
        dataType: 'json',
        data: {event: JSON.stringify(eventname) }
    });
$.getJSON('model.php',function(data) {
    $('h1').append(data['event']);
    $('.img-circle').attr('src',data['image'])
    $('a').attr('href',data['url']);
    var eventname = data['event'];
    })  
})
})
})

But this seems to always send the same data['event'] to the PHP, rather than changing each time.

  • 写回答

1条回答 默认 最新

  • douqiao1997 2013-12-18 18:30
    关注

    You assign eventname on every swipe like this:

    $.getJSON('model.php',function(data) {
        $('h1').append(data['event']);
        $('.img-circle').attr('src',data['image'])
        $('a').attr('href',data['url']);
        var eventname = data['event'];
        }) 
    

    The thing is that you do not alter your global eventname variable which is defined above. Changing your code (2nd $.getJSON) to following should do the job:

    $.getJSON('model.php',function(data) {
         ...
          eventname = data['event']; // omit var
        }) 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 表达式必须是可修改的左值
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题