Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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
我用ajax发送的值在php上不断出错_Php_Jquery_Mysql_Ajax - Fatal编程技术网

我用ajax发送的值在php上不断出错

我用ajax发送的值在php上不断出错,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我真的被阿贾克斯困住了 简单地使用表单标记将值发送到PHP文件,我没有问题。 但是我想使用jquery和ajax使我的程序更花哨一点。 我被困了好几天 我想做的是,当我在代码中点击一些文本研究进度时,它会变成一个编辑框 当我完成编辑后,它会发送到变量名并在PHP中更新。 所以我必须以某种方式在ajax中发送编辑框中的值, 但我一直有 未定义索引:名称 我在谷歌上搜索了很多,但我找不到我的答案。 我能从这里得到一些帮助吗 我想把我编辑的内容的值放到变量名中; 并希望在服务器端进行检查 如何将编辑内

我真的被阿贾克斯困住了

简单地使用表单标记将值发送到PHP文件,我没有问题。 但是我想使用jquery和ajax使我的程序更花哨一点。 我被困了好几天

我想做的是,当我在代码中点击一些文本研究进度时,它会变成一个编辑框 当我完成编辑后,它会发送到变量名并在PHP中更新。 所以我必须以某种方式在ajax中发送编辑框中的值, 但我一直有

未定义索引:名称

我在谷歌上搜索了很多,但我找不到我的答案。 我能从这里得到一些帮助吗

我想把我编辑的内容的值放到变量名中; 并希望在服务器端进行检查

如何将编辑内容的值放入变量名并发送 在POST和服务器上检查php

这是我到目前为止编写的代码

=======HTML======

<meta charset="utf-8">

<script src="https://ajax.googleapis.com/.../jquery/3.2.0/jquery.min.js"></script>

<div id="fullname">study progress</div>


<script>
  $('#fullname').click(function(){
    var name = $(this).text();
    $(this).html('');
    $('<input></input>')
      .attr({
        'type': 'text',
        'name': 'fname',
        'id': 'txt_fullname',
        'size': '50',
        'value': name
    })
    .appendTo('#fullname');
$("#txt_fullname").focus().val("").val(name); 
});


$(document).on('blur','#txt_fullname', function(){
var name = $(this).val();
$.ajax({
  type: 'POST',
  url: 'practice_check.php',
  data : { "name" : name },
success: function(){
    $('#fullname').text(name);
     alert(name);
     location.replace("practice_check.php");
  }
});
});


</script>
=======PHP实践_check.PHP======

<?php
$name = $_POST["name"];
echo $name;
?>

你错了。您需要指定url,如果您想在PHP中获取数据,则需要添加数据。我做了一个简单的代码。您可以通过以下链接查看完整详细信息:

资料 类型:纯对象、字符串或数组 要发送到服务器的数据。如果尚未转换为字符串,则会将其转换为查询字符串。它被附加到GET请求的url。请参阅processData选项以防止此自动处理。对象必须是键/值对。如果value是一个数组,jQuery将基于传统设置的值用相同的键序列化多个值


首先,您的ajax应该是这样的

$.ajax({
    type: 'POST',
    url: 'practice_check.php',
    data : { "name" : name },
    dataType: 'JSON',
    success: function(response){
        //response will be the output of practice_check.php
        $('#fullname').text(name);
        alert(response.data);
    }
});
在您的实践中_check.php

$name = $_POST["name"];
// do your functions here .. then echo response like for example
if(strlen($name) < 3){ echo "oops invalid name"; }
else { echo "successfully checked with no errors"; }

对不起,我没有正确地写我的文章,我只是编辑了,我确实编辑了,但是我仍然有问题,你检查了浏览器上的check devTools了吗。如果使用Chrome,请切换到网络选项卡。找到您的请求并查看表单数据谢谢!但我也尝试过将数据类型放在前面,但我不知道为什么当我放置dayaType时,数据类型后面的代码不起作用
$name = $_POST["name"];
// do your functions here .. then echo response like for example
if(strlen($name) < 3){ echo "oops invalid name"; }
else { echo "successfully checked with no errors"; }