Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有POST到php文件的Ajax xmlhttprequest_Javascript_Php_Ajax_Xmlhttprequest - Fatal编程技术网

Javascript 带有POST到php文件的Ajax xmlhttprequest

Javascript 带有POST到php文件的Ajax xmlhttprequest,javascript,php,ajax,xmlhttprequest,Javascript,Php,Ajax,Xmlhttprequest,大家好,我是ajax新手,我有一个问题,我想调用一个php文件,从javascript文件执行一些db查询。JS代码 $(document).ready(function(){ $(".delete").click(function(){ var xhttp; if(window.XMLHttpRequest) xhttp = new XMLHttpRequest(); else xhttp = new ActiveXObject("Microsoft

大家好,我是ajax新手,我有一个问题,我想调用一个php文件,从javascript文件执行一些db查询。JS代码

$(document).ready(function(){
$(".delete").click(function(){
var xhttp;
    if(window.XMLHttpRequest)
       xhttp = new XMLHttpRequest();
    else
       xhttp = new ActiveXObject("Microsoft.XMLHTTP");
xhttp.onreadystatechange = function() {
    if(xhttp.readyState==4 && xhttp.status==200){
        $(".delete").css("color", "pink");
    }
};
    xhttp.open("POST","../admin-tasks/admin-delete-appointment.php",true);
    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhttp.send("date="+date+ "&hour="+time);
});
});
和php文件

<?php
session_start();
require_once("../connection.php");
if($_SESSION["password"]!=null) 
{   
if(!empty($_POST["date"]) && !empty($_POST["hour"])){
    $_SESSION["msg"]= "<script type='text/javascript'> alert('The appointment has been removed!');</script>";
    $date=$_POST["date"];
    $hour=$_POST["hour"];
...

您是否尝试添加一些括号

if(xhttp.readyState==4 && xhttp.status==200) {
    $(".delete").css("color", "pink");
    xhttp.open("POST","../admin-tasks/admin-delete-appointment.php",true);
    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhttp.send("date="+date+ "&hour="+time);
}

代码完全正确,我在方法日期发现了错误。如果我给出日期(“Y-m-d”,strotime($date))和var$date,而不是-has/或w/e,它不会将日期更改为您期望的格式

那么您的问题是什么?打开/发送不应在onreadystatechange中。您似乎正在使用jQuery,它有很好的包装:打开的发送不在onreadystatechange中,它只是$(“.”delete),问题是$POST[“date”]上有错误吗??我是否需要添加其他内容以通过POST从xml接收数据??因为当我用POST从html表单调用php文件时,php文件是正确的,但是当我用POST从AJAX调用php文件时,db查询不是fullfield
xhttp.send(“date=“+date+”&hour=“+time”)-从哪里获取日期和时间?从表中获取,这些变量不是空的我测试了它,我甚至尝试了xhttp.send(“date=“+String(date)+”&hour=“+String(time));但什么都没有。我相信由于某种原因,在php文件中,获取$\u POST的变量是空的,因为我在数据库中没有看到任何更改。但是php中的代码是正确的,如果我从带有POST的html表单调用它。好的,我在这里再次编辑了代码,这不是括号中的问题,我相信当我尝试从js文件调用POST时,用POST接收数据时,问题一定在php文件周围,而不是用典型的html表单。。。
if(xhttp.readyState==4 && xhttp.status==200) {
    $(".delete").css("color", "pink");
    xhttp.open("POST","../admin-tasks/admin-delete-appointment.php",true);
    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhttp.send("date="+date+ "&hour="+time);
}