jQuery和Ajax不将数据发布到或加载PHP页面

时间:2019-04-04 05:51:57

标签: php jquery html ajax html-form

完全免责声明,我对JavaScrip,JQuery,Ajax和PHP的了解有限,自3月中旬以来,我一直在努力解决问题。我正在尝试使用JavaScript将某些数据格式化为数组,然后使用Ajax将其发布到PHP页面(必须打开并显示一些HTML)。

对于以下代码,我几乎尝试了所有我能想到的变体:

(此代码位于HTML文档中表单下方的<script>标签中,标头中的脚本标签包括AjaxJavaScript src引用)

$("#dataForm").submit(function(event){

console.log("Submit started");
var test = $("#title").val();
var serData = 'test1='+test;
//event.preventDefault();

//POST to PHP
$.ajax({
    method: "POST",
    url: "summary.php",
    data: {serData: serData},
    success: function(response){
        console.log("Success!");
    },
error: function(xhr, ajaxOptions, thrownError){
    console.log("Didn't work!");
}
    });
//event.preventDefault();
});

但是,这甚至不发布数据,而是在URL区域显示所有数据-也不会加载PHP页面。我找不到任何参考资料来解释该怎么做。

我确实找到了这个window.location = "summary.php"-但是,它只加载PHP页面,并且没有数据被发布。

这是我的HTML:

<form id="dataForm">
    <strong>Title:</strong>
    <input type="text" name="title">

    <input type="submit" name="sub_button" value="Submit">
</form>

和PHP(summary.php):

if (isset($_POST['serData'])){
    echo "Data POSTed: ";
    echo $_POST["test1"];
    $test1 = $_POST["test1"];
}
//assume there is some simple HTML code here
<html>
<p>{$test1}</p>
</html>

控制台记录“成功!”每次,但我没有成功。

总结一下,出于测试目的,我只想发布此test1变量并在PHP端检索它,然后显示PHP HTML页面。

从那时起,我想知道将JavaScript数组发布到PHP的最佳方法(此处考虑JSON),以及是否最好将此数组添加到("#dataForm").serialize()的末尾(例如{{ 1}})或单独发布(如果确实可行)。

如果需要,很乐意提供更多代码! 干杯

Edit1:

我的("#dataForm").serialize() +"&array"现在看起来像     数据:{serData:true,test1:$('input [name =“ title”]')。val()}

当我点击“提交”按钮时,数据不再显示在URL中!很好!但是PHP页面仍然无法打开!我在这里想念什么吗?

0 个答案:

没有答案