Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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获取数据的正确或最佳方法是什么?_Javascript_Php_Ajax_Get - Fatal编程技术网

Javascript 从ajax获取数据的正确或最佳方法是什么?

Javascript 从ajax获取数据的正确或最佳方法是什么?,javascript,php,ajax,get,Javascript,Php,Ajax,Get,我用ajax编写了这个javascript代码 $('#btnCart').click(function() { var pName = document.getElementById('prodName').value; $.ajax({ url: 'index.php', data: 'prdName='+pName, success: function(data) { $('#prod').html(

我用
ajax
编写了这个
javascript
代码

$('#btnCart').click(function() {
    var pName = document.getElementById('prodName').value;

    $.ajax({
        url: 'index.php',
        data: 'prdName='+pName,
        success: function(data) {
            $('#prod').html(data);
            }
    });
});
我想获取php上返回的
pName
值。以下是我在
index.php
端的代码:

<?php 
    $prodName = $_GET['prdName'];
    echo $prodName;

 ?>

但它返回
未识别索引:prdName


如何从ajax中获取php的值?请帮助…

将此添加到您的PHP代码中:

if(!empty($_GET['prdName'])){
  $prodName = $_GET['prdName'];
  echo cartTable($prodName);
}
js中还有一些更正:

$('#btnCart').click(function() {
    var pName = $('#prodName').val();
    $.ajax({
        url: 'index.php',
        data: {prdName:pName},
        success: function(data) {
          $('#prod').html(data);
        }
    });
});

在index.php中,从$\u POST[]全局数组获取prdName值。 要将数据发送到index.php文件,请在ajax代码中添加类型:'POST'

 $.ajax({
    type:'POST',
    url: 'index.php',
    data: {'prdName': pName},
    success: function(data) {
        $('#prod').html(data);
    }
 });
也可以在jQuery中使用$.post()方法

 $.post(
   'index.php',
   {'prdName='+pName}, 
   function(data) {
      $('#prod').html(data);
   }
 });
在index.php中

if(isset($_POST['prdName']){
  $prodName = $_POST['prdName'];
  echo $prodName;
}

您应通过以下方式发送数据:

data: {prdName: pName},

我认为没有必要检查
$prodName
变量是否有值,因为在上面的代码中,它表示无法识别
prdName
变量的索引。无论如何,应该检查它。上面我做了一些更正,我认为这会有所帮助。
#prodName
实际上是一个隐藏输入的id。所以这段代码
var pName=$('#prodName').val()
不会返回该元素的值No您也可以使用jquery代码获取隐藏的输入元素值。。不管是什么类型的。是的。。。我没有输入echo而不是alert。。。哈哈,顺便说一句,它还是不起作用。。。我不知道为什么。。。tssno。。据推测,
prdName
$prodName
data: {prdName: pName},