Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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 无需页面刷新的AJAX到PHP_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript 无需页面刷新的AJAX到PHP

Javascript 无需页面刷新的AJAX到PHP,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我在让表单向PHP文件提交数据时遇到了一些问题 如果没有我拥有的AJAX脚本,表单会引导用户进入“xxx.php”并提交数据库中的数据,但是当我包含此脚本时,它会阻止页面刷新,显示成功消息,并在“myDiv”中淡出,但数据库中不会出现任何数据 任何指向正确方向的指示都将不胜感激。在这件事上把我的头发拔出来 HTML 您的内容 JavaScript <script> $(document).ready(function(){ $("#subbutton

我在让表单向PHP文件提交数据时遇到了一些问题

如果没有我拥有的AJAX脚本,表单会引导用户进入“xxx.php”并提交数据库中的数据,但是当我包含此脚本时,它会阻止页面刷新,显示成功消息,并在“myDiv”中淡出,但数据库中不会出现任何数据

任何指向正确方向的指示都将不胜感激。在这件事上把我的头发拔出来

HTML


您的内容

JavaScript

<script>   
    $(document).ready(function(){
        $("#subbutton").click(function(e){
            e.preventDefault();
            var content = $("#content").attr('value');

            $.ajax({
                type: "POST",
                url: "xxx.php",
                data: "content="+content,
                success: function(html){   
                    $(".myDiv").fadeTo(500, 1);
                },
                beforeSend:function(){
                    $("#message").html("<span style='color:green ! important'>Sending request.</br></br>");
                }
            });

        });
    });
</script>

$(文档).ready(函数(){
$(“#子按钮”)。单击(函数(e){
e、 预防默认值();
var content=$(“#content”).attr('value');
$.ajax({
类型:“POST”,
url:“xxx.php”,
数据:“content=“+content,
成功:函数(html){
美元(“.myDiv”).fadeTo(500,1);
},
beforeSend:function(){
$(“#消息”).html(“发送请求。

”); } }); }); });
将数据字段更改为

data:{
    content:$("#content").val()
}
还将atribute错误添加到带有

error:function(e){
   console.log(e);
 }
并尝试在php文件中将var dump返回给$\u POST

最重要的是根据您发送的内容向ajax中添加数据类型atribute:

dataType: "text" //text if You try with the var dump o json , whatever.
另一个解决方案是:

  $.ajax({
   type: "POST",
   url: "xxxwebpage..ifyouknowhatimean",
   data: $("#idForm").serialize(), // serializes the form's elements.
   dataType:"text" or "json" // According to what you return in php
   success: function(data)
   {
       console.log(data); // show response from the php script.
   }
 });

在Ajax请求中设置如下数据类型:
data:{content:content}


我认为它不是正确的JSON格式

几处小改动应该可以让您启动并运行。首先,使用
.val()
获取输入值:

您提到您正在检查submit按钮
isset()
,但您从未将其值发送到PHP函数。为此,您还需要获取其值:

var submit = $('#subbutton').val();
然后,在AJAX函数中正确指定数据:

$.ajax({
    type: "POST",
    url: "xxx.php",
    data: {content:content, subbutton: submit}
    ...
数据属性名称上不需要引号

然后在PHP端检查提交按钮,如下所示-

if('submit' == $_POST['subbutton']) {
    // remainder of your code here

内容将在
$\u POST['Content']

中提供,请尝试
var Content=$(“#Content”).val()
。此外,您是否检查了浏览器控制台日志,以查看发布的值。另外,您的php代码是否有一个
isset($\u POST['submit'])
或其他检查,您没有通过ajax发送?调试时,具体在哪里失败?JavaScript是否运行正常?是否发出了AJAX请求?该请求是否包含您期望的数据?服务器端代码中是否有错误?服务器端代码是否可以看到您期望的数据?服务器端代码中的逻辑是否成功到达它试图写入数据库的部分?它有你期望的价值吗?等等,等等……我的php确实有isset($_POST['submit'])。我将尝试val()并查看它现在是否有效。好的,使用val()可以它正在做完全相同的事情,作为对您的回应,David在控制台上运行时没有出现错误。当我在没有AJAX的情况下运行表单时,PHP会将值完美地传递到数据库,因此我知道这是AJAX的一个问题。您能否向我们展示
#content
的标记?请使用
console.log()
相反。这只是一个表达式哈哈,算了吧:)*这里不需要fixedQuotes,除非它包含在值中。对不起,你不能编辑我的答案吗?我在打电话,我没有回音。我不是在说回音,我是在说内容周围的引号。哦,天哪,我现在看到了。是的,我错了。现在更正它。因为
content
是一个变量,所以这里的值也不需要引号。你是一颗钻石。谢谢你,这真是一种享受。:)
$.ajax({
    type: "POST",
    url: "xxx.php",
    data: {content:content, subbutton: submit}
    ...
if('submit' == $_POST['subbutton']) {
    // remainder of your code here