首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法从php ajax获取值

无法从php ajax获取值
EN

Stack Overflow用户
提问于 2018-06-25 01:40:56
回答 2查看 109关注 0票数 -1

无法从php true AJAX获取值。

我的php代码是

代码语言:javascript
复制
<?php
$name =  $_POST['name'];
$hobby = $_POST['hobby'];
if (!empty($name and $hobby)){
echo 'Data was succesfully captured';
}else {
echo 'Data was not captured'
}

我的html代码是

代码语言:javascript
复制
<div id="result"></div>

<form method="post">
<input name="name" type="text" id="name">
<br>
<input name="hobby" type="text" id="hobby">
<input name="snd_btn" type="button" id="snd_btn" value="Save">
</form>

JS

代码语言:javascript
复制
$(document).ready(function(){
$('#snd_btn').click(function() {
var name = $('#name').val();
var hobby = $('#hobby').val();
$.ajax({
 url: "save.php",
 type: "POST",
dataType: 'json',
data: { name, hobby,
success: function(result) {
$('#result').html(result);
  },
}
 });
 });
   });

如果我将js中的更改为

代码语言:javascript
复制
success: function() {
$('#result').html('Data was succesfully captured');
},

它可以工作,但不能在php中工作

EN

回答 2

Stack Overflow用户

发布于 2018-06-25 02:23:42

首先,您要检查ajax调用是否成功完成

如果ajax调用成功完成,

通过在控制台中打印查看成功数据的响应。

你的php代码应该是这样的

代码语言:javascript
复制
<?php
$name = $_POST['name']; 
$hobby = $_POST['hobby']; 
 if ($name and $hobby ){ 
        echo json_encode('Data was succesfully captured');
     }else {
        echo json_encode('Data was not captured'); 
    }

在php中,你必须以json的形式返回数据。

和js端:

代码语言:javascript
复制
$(document).ready(function(){ 
    $('#snd_btn').click(function() { 
        var name = $('#name').val(); 
        var hobby = $('#hobby').val();
        $.ajax({ 
             url: "save.php", 
             type: "POST", 
             dataType: 'json', 
             data: { name:name, hobby:hobby}  // data in { key : value}
             success: function(result) { 
             res = JSON.parse(res);
             console.log(res);// display in developertools > console
                 $('#result').html(res); 
             },
 }); }); });
票数 1
EN

Stack Overflow用户

发布于 2018-06-25 01:46:52

这个是错的。

代码语言:javascript
复制
if (!empty($name and $hobby)) {

请将其替换为:

代码语言:javascript
复制
if (!empty($name) and !empty($hobby)) {

你必须检查每一个变量是否为空。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51012435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档