发送和接听ajax电话

时间:2017-03-28 13:46:57

标签: php jquery ajax

我找了很多年以防止这种情况重复,但我似乎无法找到答案。

在之前的jquery页面上,我使用了以下ajax调用:

var daynum1 = $(this).text();
var month1 = $('.ui-datepicker-month').text();
var year1 = $('.ui-datepicker-year').text();
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);
  }
});

这非常完美。 events.php能够使用以下方法获取变量:

if(isset($_POST['myDate']))

但是我开始使用不同的AJAX调用将数据发送到另一个页面:

var titleevent = $("#dropdowntextbox").val();

$.ajax({
  url: "editevents2.php",
  cache: false,
  data: { titleevent: titleevent },
  dataType: "html",
  success: function(html) {
    $("#editeventspopup").empty();  
    $("#editeventspopup").append(html);
  }
});

然而,我无法为我的生活让它发挥作用!应该接收呼叫的页面具有以下设置:

if(isset($_POST['titleevent']))
{
  $title = $_POST['titleevent'];
  echo "hooray found it";
}
else
{
  echo "hello";
}

每一次,hello都会得到回应。我已经尝试添加并提醒我将数据打印回成功,但我对此很新,所以它只是阻止它完全工作。

我的猜测(这并不意味着太多)是因为这个变量是.val而不是.html所以它是数据类型。但我不确定我还能把它设置为什么。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

根据您的编辑,似乎问题只是类型。 jQuery的$.ajax()方法使用的默认类型是GET。要使用POST,您需要指定:

$.ajax({
  url: "editevents2.php",
  type: "post",  // specify the type as POST
  cache: false,
  data: { titleevent: titleevent },
  dataType: "html",
  success: function(html) {
    $("#editeventspopup").empty();  
    $("#editeventspopup").append(html);
  }
});

答案 1 :(得分:0)

当您使用 titleevent 发布数据时,您将在服务器上收到 titleevent

你有这个作为你的js代码:

var titleevent = $("#dropdowntextbox").val();

 $.ajax({
  url: "editevents2.php",
  cache: false,
     data: {titleevent: titleevent},
     dataType: "html",
  success: function(html){
    $("#editeventspopup").empty();  
    $("#editeventspopup").append(html);
  }
});

您将收到:

if(isset($_POST['titleevent']))

        {

           $title = $_POST['titleevent'];

echo "hooray found it";

        }

        else
        {

echo "hello";
        }