jQuery AJAX和PHP没有获取数据值

我正在尝试将使用jQuery AJAX传递的数据变量的值提取到php页面。 如何解决?</ p>

下面是HTML页面代码:</ p>

 &lt; input id =“name”placeholder =“输入你的 名称。”  /&gt; 
&lt; button id =“submit”&gt;提交&lt; / button&gt;
&lt; div id =“message”&gt;&lt; / div&gt;
</ code> </ pre>

< p>在按钮上单击此jQuery AJAX调用php页面:</ p>

  $ .ajax({
type:“POST”,
url:“jquery-ajax- hello.php“,
contentType:”application / json; charset = utf-8“,
data:'{”name“:”'+ $(“#name”)。val()+'“}} ,
success:function(result,status,xhr){
$(“#message”)。html(result);
},
error:function(xhr,status,error){
$( “#message”)。html(“结果:”+状态+“”+错误+“”+ xhr.status +“”+ xhr.statusText)
}
});
</ code> </ pre>

PHP页面代码是:</ p>

 &lt;?php 
$ name = $ _POST ['name'];
echo“你好 “。$ name。”,你好吗?“;

?&gt;
</ code> </ pre>

在php页面中,我无法获取数据变量'name'值?</ p>

请帮忙?</ p>
</ div>

展开原文

原文

I am trying to fetch the values of the data variable passed with jQuery AJAX to a php page. How to solve it?

Below is the HTML page code:

<input id="name" placeholder="Enter your name." />
<button id="submit">Submit</button>
<div id="message"></div>

On the button click this jQuery AJAX calls a php page:

 $.ajax({
     type: "POST",
     url: "jquery-ajax-hello.php",
     contentType: "application/json; charset=utf-8",
     data: '{"name":"' + $("#name").val() + '"}',
     success: function (result, status, xhr) {
         $("#message").html(result);
     },
     error: function (xhr, status, error) {
         $("#message").html("Result: " + status + " " + error + " " + xhr.status + " " + xhr.statusText)
     }
 });

The PHP Page code is:

<?php
$name = $_POST['name'];
echo "Hello ".$name.", How are you ?"; 
?>

In the php page I am not able to fetch the data varaible 'name' value?

Please help?

duansha6410
duansha6410 未定义的索引:第2行的E:\xampp\htdocs\demo\jquery-ajax-hello.php中的名称你好,你好吗?
3 年多之前 回复
dtkjthe4025
dtkjthe4025 控制台中的错误是什么?
3 年多之前 回复

4个回答



你的 data </ code>应该是一个对象,你传递的是一个字符串,所以它应该是< / p>

  data:{
name:$(“#name”)。val()
},
</ code> </ pre>
</ div >

展开原文

原文

Your data should be an object, what you're passing is a string, so it should be

data: {
    name: $("#name").val()
},

dongzhuang5741
dongzhuang5741 jQuery的ajax实际上并没有将它作为json对象传递(正如人们可能推断的那样),它将它作为查询字符串传递。 在他们的网站上查看更多
3 年多之前 回复
doufunuo4787
doufunuo4787 谢谢,我删除了contentType,这解决了我的问题。 谢谢。
3 年多之前 回复
dqs86517
dqs86517 尝试删除contentType,它应该只是作为www / encode事件传递。
3 年多之前 回复
douxian7117
douxian7117 对不起工作
3 年多之前 回复



JQuery Ajax </ h2>


表单数据</ p>
</ blockquote>

 &lt; input type =“text”id =“name”placeholder =“输入你的名字。”  /&gt; 
&lt; button id =“submit”&gt;提交&lt; / button&gt;
&lt; div id =“message”&gt;&lt; / div&gt;
</ code> </ pre>

< blockquote>

Jquery部分</ p>
</ blockquote>

  $(function(){
$(“#submit”)。click(function() {
var name = $('#name')。val();
$ .ajax({
url:'success.php',
method:'POST',
data:{name: name},
success:function(res){
$('#message')。append(res);
}
});
});
});
</ code > </ pre>


success.php </ p>
</ blockquote>

 &lt;?php 
$ name = $ _POST ['name'];
echo“Hello Mr”。$ name;
?&gt;
</ code> </ pre>
</ div>

展开原文

原文

JQuery Ajax

Form data

<input type="text" id="name" placeholder="Enter your name." />
<button id="submit">Submit</button>
<div id="message"></div>

Jquery section

$(function() {
$("#submit").click(function() {
  var name = $('#name').val();
 $.ajax({
  url : 'success.php',
  method: 'POST',
  data : {name:name},
  success : function(res) {
     $('#message').append(res);
   }
});
});
});

success.php

<?php 
 $name =  $_POST['name'];
 echo "Hello Mr ".$name ;
?>



数据</ strong>属性更改为</ p>

  data:{  name:$(“#name”)。val()} 
</ code> </ pre>

它可以正常工作</ p>
</ div>

展开原文

原文

change data property to

 data: {name: $("#name").val() }

and it would work fine

doujian0265
doujian0265 这次错误是什么?
3 年多之前 回复
dourao1896
dourao1896 我试着不工作。
3 年多之前 回复



将数据更改为:</ p>

  data:{name:$(“#name  “).val()} 
</ code> </ pre>

因为 data </ code>必须是具有 key:value </ code>对的对象 它</ p>

在你的情况下:</ p>

  data:'{“name”:“'+ $(”#name“)。val  ()+'“}'
</ code> </ pre>

{} </ code>用单引号括起来。 删除它们。</ p>
</ div>

展开原文

原文

change data to:

data: { name: $("#name").val() }

because data must be an object having key : value pair in it

In your case:

data: '{"name":"' + $("#name").val() + '"}'

{} is wrapped with single quotes. Remove them.

duanfanta6741
duanfanta6741 在这种情况下,data:name中没有值
3 年多之前 回复
doutui839638
doutui839638 php页面无法获取“name”值,这就是问题所在?
3 年多之前 回复
dongpai1942
dongpai1942 我试过你说的话,它仍然无法正常工作。
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问