我一直在使用ajax发送的值的错误

时间:2017-05-12 01:32:44

标签: php jquery mysql ajax

我真的陷入了ajax,

我没有问题,只需使用form标签将值发送到PHP文件。 但我想使用jquery和ajax使我的程序更加花哨。 我完全被困了几天。

我想要做的是当我点击某些文字(我的代码中的学习进度)时,它变成了一个编辑框 当我完成编辑时,它发送到变量“name”并在PHP中更新。 所以我必须以某种方式在ajax中的编辑框中发送值, 但我一直在

  

“未定义的索引:名称”

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

我想把我编辑过的值放到变量name; 并希望检查服务器端。

如何将我编辑的内容的值放入变量name并发送 在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(practice_check.php)======

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

2 个答案:

答案 0 :(得分:1)

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

  

数据   键入:PlainObject或String或Array   要发送到服务器的数据。如果不是字符串,它将转换为查询字符串。它附加到GET请求的URL。请参阅processData选项以防止此自动处理。对象必须是键/值对。如果value是一个数组,jQuery会根据传统设置的值

使用相同的键序列化多个值
var name = 'abc';

$.ajax({
    url: 'practice_check.php',
    type: 'POST',
    data: {name: name},
})
.done(function() {
    console.log("success");
})
.fail(function() {
    console.log("error");
})
.always(function() {
    console.log("complete");
});

答案 1 :(得分:0)

首先你的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"; }