Ajax和PHP调试
构建一个脚本,一旦在datepicker日历中选择了日期,它就会使用ajax在php脚本中发布所选日期;
在该ajax调用的成功中,它使用另一个ajax调用将相同的选定日期发布到另一个php脚本并在页面中显示。
做了一些研究,这似乎是我尝试做的最好的解决方案。
该脚本如下:
//for the events jQuery(function($) { $(".date").datepicker({ onSelect: function(dateText) { display("Selected date: " + dateText + "; input's current value: " + this.value); $(this).change(); } }).on("change", function() { display("Got change event from field"); // call next ajax function var mydate = this.value; $.ajax({ type: "POST", url: 'boxes_script.php', data: ({dates: mydate}), dataType : 'html', success: function(data) { $('.caixas').html(data); alert(data); $.ajax({ type: "POST", url: 'events_script.php', data: ({dates1: mydate}), dataType : 'html', success: function(data) { $('.results-ajax').html(data); alert(data); } }); } }); }); function display(msg) { $("").html(msg).appendTo(document.body); } });
这是atm使用的代码。 得到一些更新,因为这里给出的反馈,但解决方案仍然没有100%工作
它有一个问题,我认为这是因为第二个Ajax调用是成功的Ajax。
问题如下 :数据正在php脚本中发布,这些脚本的运行方式应该如此。 数组将填充正确的信息。 该
$(”。caixas’)HTML(数据)。
工作正常并显示’boxes_script.php’中的数据。
该
$( ‘结果的AJAX。’)HTML(数据)。
接收从’events_script.php’发送的100%数据,但由于任何奇怪的原因,不会将其附加到页面..
我可以在警报消息中看到数据,它是发送到浏览器的正确数据。
为什么不将数据附加到页面?
这是’events_script.php’的php代码:
0) { while ($row = mysqli_fetch_assoc($result)) { $image = $row['Company_Logo']; $myArray = json_decode($image, true); $event=$row['eventID']; echo ' '.$row['Start_Date'].'
'.$row['End_Date'].'
'; }} else { echo 'No results found.'; } } ?>
注意:错误日志中未发现任何错误。 网络给出状态200。
可以看到数据发送到浏览器:
正如您在图像中看到的那样,数据的第一部分将附加到浏览器中。
为什么不工作呢?
var mydate = this.value; // add before the 1st ajax call
改变 –
data1: ({dates1: mydate})
这就解决了问题,并得出以下最终结果:
旧:
新:
所以,基本上使用结果-ajax作为自己的div的类修复了问题。
更改
data1: ({dates1: this.value})
至
data: ({dates1: this.value})