Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
Php 通过ajax发送已使用的变量_Php_Jquery_Ajax_Datepicker - Fatal编程技术网

Php 通过ajax发送已使用的变量

Php 通过ajax发送已使用的变量,php,jquery,ajax,datepicker,Php,Jquery,Ajax,Datepicker,我在页面上使用jquery日期选择器。在datepicker的旁边,我有一个部分将显示datepicker鼠标指针上的事件。我想出了一个办法,把日期写进这一节的标题里。我遇到的问题是将该变量转移到将在mousenter上显示的php页面 下面是将显示日期选择器和事件的页面: <div id=events> <div id=eventcontent> </div> </div>

我在页面上使用jquery日期选择器。在datepicker的旁边,我有一个部分将显示datepicker鼠标指针上的事件。我想出了一个办法,把日期写进这一节的标题里。我遇到的问题是将该变量转移到将在mousenter上显示的php页面

下面是将显示日期选择器和事件的页面:

<div id=events>
       <div id=eventcontent>
       </div>
           </div> 

           <div id=eventsheading>
           <div id=headingcontent>
           </div>
           </div>

      <div id = "datepicker">
      </div> 
下面是events.php:

if(isset($_POST['Date']))
{
    $date = $_POST['Date'];

echo <<<_END

<p>$date</p>

_END;
}
else
{
echo <<<_END


<p>hello!</p>

_END;

}
我似乎找不到任何地方可以解释如何使用数据:{…},我猜这是我的问题


很抱歉,如果代码完全错了,我对学习这一切还很陌生,谢谢你的帮助。

你不能像@CBroe所说的那样使用与内置对象冲突的变量名。 然后像这样休息

   var myDate = daynum1 + " " + month1 + " " + year1;
    $('#headingcontent').html(myDate);

   $.ajax({
    url: "events.php",
    type: "POST",
        data: {myDate: myDate},
        dataType: "html",
        success: function(html){
    $("#eventcontent").empty();  
    $("#eventcontent").append(html);
  }
    });

无需第二次ajax调用

首先:不要使用与内置对象冲突的变量名-JS已经有了一个
Date
对象,因此使用它作为变量名是自找麻烦的。(是的,它只是显示的代码中的一个局部变量,但仍然不要这样做。)其次,为什么要在这里发出两个AJAX请求?您只发送第一个数据-因此在第二个数据中,该值当然不可用。只需发出一个请求,将数据发送到服务器,然后在页面中显示响应。@CBroe关于名称的观点很好,我将更改它。我对这一切都很陌生,有没有可能进一步解释如何提出第二个请求?你不需要两个请求。发出一个发送数据的POST请求,并为该请求指定一个成功回调。首先,当您使用日期发出带有POST数据的第一个请求时,请尝试了解请求和响应的范围,它仅适用于您的第一个请求,因此当您尝试执行第二个请求时,它将进入其他部分,因为日期已发布在第一个请求中,希望这对您有意义谢谢。到目前为止,我对这方面的知识非常有限,但我使用了第二个ajax调用来告诉#eventcontent在其中使用新更新的events.php。这是通过.append实现的吗?我知道这篇文章将coorrect信息发布到event.php,但它是否会将新的events.php加载到eventcontent中?@josh在这种情况下,您必须替换该div中以前的所有事件数据才能使用html()。查看我的最新帖子(如果我清楚了解您的要求)
//ajax call with date information
        var request = $.ajax({
        url: "events.php",
        type: "POST",
            data: {Date: Date},
            dataType: "html"
        });
   var myDate = daynum1 + " " + month1 + " " + year1;
    $('#headingcontent').html(myDate);

   $.ajax({
    url: "events.php",
    type: "POST",
        data: {myDate: myDate},
        dataType: "html",
        success: function(html){
    $("#eventcontent").empty();  
    $("#eventcontent").append(html);
  }
    });