如何用ajax调用php脚本?

时间:2018-02-11 10:53:04

标签: javascript php jquery html ajax

我尝试创建多个表,我可以在表之间移动表行,并让ajax调用一个php脚本,用新值更新数据库,即行的新父。

它现在只有html和javascript,我想知道ajax部分应该如何调用更新数据库的PHP脚本?如果我应该对javascript / html部分进行一些更改?

HTML:

<table class="tables_ui" id="t_draggable1"><h4>Table 1</h4>
<tbody class="t_sortable">
  <tr>
    <th>Title</th>
    <th>Status</th>
    <th>Creation date</th>
  </tr>
  @foreach($tasks as $task)
    <tr class="row1" data-id="{{ $task->id }}">
      <td>{{ $task->title }}</td>
      <td>{{ ($task->status == 1)? "Completed" : "Not Completed" }}</td>
      <td>{{ date('d-m-Y h:m:s',strtotime($task->created_at)) }}</td>
    </tr>
  @endforeach
</tbody>
</table>

<table class="tables_ui" id="t_draggable2"><h4>Table 2</h4>
<tbody class="t_sortable">
  <tr>
    <th>Title</th>
    <th>Status</th>
    <th>Creation date</th>
  </tr>
  <!-- More <td> rows here ... -->
</tbody>
</table>

<!-- More tables here ... -->

使用Javascript:

<script>
$(document).ready(function() {
  var $tabs = $('#t_draggable2')
  $("tbody.t_sortable").sortable({
    connectWith: ".t_sortable",
    items: "> tr:not(:first)",
    appendTo: $tabs,
    helper:"clone",
    zIndex: 999990
  }).disableSelection();

  var $tab_items = $(".nav-tabs > li", $tabs).droppable({
    accept: ".t_sortable tr",
    hoverClass: "ui-state-hover",
    drop: function( event, ui ) { return false; }
  });
});
</script>

1 个答案:

答案 0 :(得分:0)

对于$.ajax中的js来电,你应该注意一些关于你想传递给PHP文件的内容以及你想要的内容返回(response)。下面发布数据的简单$.ajax调用:

 var Example1 = "123";
 var Example2 = "456";

 $.ajax({
     type: "POST",
         data: {
             Example1: example1,
             Example2: example2
         },
         url: "config/post.php",
         success: function(){
            setTimeout(function(){// wait for 5 secs(2)
                location.reload(); // then reload the page.(3)
         }, 100);
     }
 })

在上面的示例中,variables (var),“Example1”和“Example2”将作为数据插入到请求中。

在你的url:中,你将指定你的php文件的帖子网址。 在PHP文件中,您可以使用data {中的第二个$_REQUEST属性获取数据,请参阅以下示例:

$ example1 = $ _REQUEST ['example1']; $ example2 = $ _REQUEST ['example2'];

echo $ example1。 $示例2;

要检查您的数据是否已获取,您可以使用console.log()电话上方的$.ajax功能确定。

 var Example1 = "123";
 var Example2 = "456";


 // Check for the values

 console.log(Example1 + Example2)

 $.ajax({
     type: "POST",
         data: {
             Example1: example1,
             Example2: example2
         },
         url: "config/post.php",
         success: function(){
            setTimeout(function(){// wait for 5 secs(2)
                location.reload(); // then reload the page.(3)
         }, 100);
     }
 })

我希望这有帮助,如果您有任何疑问,请在评论部分询问! (: