我找了很多年以防止这种情况重复,但我似乎无法找到答案。
在之前的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所以它是数据类型。但我不确定我还能把它设置为什么。
感谢您的帮助。
答案 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";
}