【问题标题】:.ajax not functioning in an event handler.ajax 在事件处理程序中不起作用
【发布时间】:2016-10-03 04:12:31
【问题描述】:

有人可以帮忙吗?我似乎找不到我的代码有任何问题。看来我的视图无法转到 ReplacementDriverListDatabase.php 以下是我的看法

@section('libraries')
@parent
{!!Html::script('bootstrap-datepicker-1.5.1-dist/js/bootstrap-datepicker.min.js')!!}
{!!Html::style('bootstrap-datepicker-1.5.1-dist/css/bootstrap-datepicker.css')!!}
{!!Html::script('jonthornton-jquery-timepicker-fb09cd8/jquery.timepicker.js')!!}
{!!Html::style('jonthornton-jquery-timepicker-fb09cd8/jquery.timepicker.css')!!}
{!!Html::script('jonthornton-Datepair.js-efff9ba/dist/datepair.js')!!}
{!!Html::script('jonthornton-Datepair.js-efff9ba/dist/jquery.datepair.js')!!}
@stop
<div class="input-daterange form-group" id="datepicker">
{!! Form::text('replacementStartDate',NULL,['class'=>'input-sm form-control','id'=>'start','name'=>'replacementStartDate']) !!}
</div>

<div class="form-group">
    {!! Form::label('currentDriver','Current Driver') !!}
    {!!  Form::text('currentDriverList', NULL,['class'=>'form-control', 'id' => 'currentDriv']) !!}
</div>
@section("script")
<script>
  $("#start").select(function(){
    test(); 
    });
  function test(){
    $.ajax({
            url: '../resources/views/ReplacementDriverListDatabase.php',
            async: false,
            dataType:   "json", // <== JSON-P request
            success:    function(data){
                $.each(data.driverList, function(key, value){ // <=== Note, `data.results`, not just `data`
                $("#currentDriv").val('aaa');
                });
            }
  });
};
</script>
@stop

下一部分是我的 ReplacementDriverListDatabase.php

<?php


 $servername = "localhost";
 $username = "root";
 $password = "";
 $dbname = "bustracking";


 $conn = new mysqli($servername, $username, $password, $dbname);

 $query = "SELECT driverNickName FROM driver";
 $result = $conn->query($query);

 $numberOfRow = $result->num_rows;

 $driverList["driverList"] = array();
 if ($numberOfRow > 0) {

  while ($row = $result->fetch_assoc()) {
    $dataRow = array();
    $dataRow['driverNickName'] = $row['driverNickName'];

    array_push($driverList["driverList"], $dataRow);
 }
 $result->free();
  }

 echo(json_encode($driverList));

 $conn->close();
 ?>

当我测试它时它没有显示任何错误。请帮忙。提前致谢!

【问题讨论】:

    标签: php ajax laravel


    【解决方案1】:

    使用 document.ready 事件

    $(document).ready(function(e) {
     $("#start").select(function(){
        test(); 
        });    
    });
    

    【讨论】:

    • 感谢您的回复,但它仍然无法工作,似乎选择事件处理程序可以继续进行 test() 但 $.ajax 无法工作。
    • 使用错误事件捕捉错误function test(){ $.ajax({ url: '../resources/views/ReplacementDriverListDatabase.php', async: false, dataType: "json", // &lt;== JSON-P request success: function(data){ $.each(data.driverList, function(key, value){ // &lt;=== Note, data.results, not just data` $("#currentDriv").val('aaa'); }); },错误:函数(xhr,状态,错误){ var err = eval("(" + xhr.responseText + ")");警报(错误消息); } }); }; `
    • 它显示 SyntaxError: Unexpected token
    • 看起来您正在从服务器接收 HTML,但 dataType: json 告诉 jQuery 将其解析为导致此错误的 JSON。使用 console 查看您收到的回复@Alex
    • 通过删除dataType:json,并在成功下:我在console.log(data)中添加了function(data),但它显示了它的源代码......有什么问题吗? @阿西姆
    猜你喜欢
    • 1970-01-01
    • 2019-09-22
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    相关资源
    最近更新 更多