更改URL字符串中的数据 - 使用API​​进行数据库请求

时间:2013-05-05 16:03:51

标签: javascript json mootools concatenation

使用API​​我正在使用Javascript创建论坛。

当用户点击index.html页面上的帖子标题时,他们将被带到这里名为thread.html的页面,我正在使用API​​调用来显示ID为1的线程的结果/ p>

var threadRequest = new Request.JSON({
  url: 'control.php?action=getThread&id=1',
  onSuccess: threadSuccess
    }).send();

我的问题是我如何更改它以便它知道哪个线程被点击以便它知道要调用哪个线程,我已经尝试过了

function callThread(thread){
  var threadRequest = new Request.JSON({
    url: 'control.php?action=getThread&id='+thread,
    onSuccess: threadSuccess
     }).send();
}

thread是链接到API的表中的外键。

线程标题显示如此

var jsonRequest = new Request.JSON({
    url: 'control.php?action=getThreadList',
    onSuccess: ajaxSuccess

}).send();

这也是threadSuccess函数

function threadSuccess (jArray){
    jArray.each(function(post){
        var postObject = new PostItem(post.id, post.name, post.comment, post.thread);
        postObject.display().inject($('postList'));
    })
}

我的问题是你得到它,以便url字符串会像url: 'control.php?action=getThread&id=what ever number thread the user has clicked on

那样

post表包含字段id,name,comment,timestamp和thread(这将定义帖子将在哪个帖子中。)

并且线程表包含id和title。

1 个答案:

答案 0 :(得分:0)

当您输出链接时,请执行以下操作:

<div class="thread" data-id="{{ID from database}}">Thread</div>

document.querySelector('.thread').addEventListener('click', function(e){
    var id = e.currentTarget.getAttribute('data-id');
    callThread(id);
}, false);

你问的问题有点令人困惑,但如果我试图实现我的想法,这就是我接近它的方式!