2013-09-15 3 views
0

У меня есть этот javascript код с ajax.Каков правильный или лучший способ получить данные из ajax?

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

    $.ajax({ 
     url: 'index.php', 
     data: 'prdName='+pName, 
     success: function(data) { 
      $('#prod').html(data); 
      } 
    }); 
}); 

Я хочу, чтобы получить значение pName должны быть возвращены на мой PHP. Вот мой код на моей стороне index.php:

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

?> 

Но она возвращает Unidentified index: prdName.

Как я могу получить значение от ajax до моего php? Пожалуйста, помогите ...

+0

нет .. предположительно, 'prdName' является индексом для' $ prodName' –

ответ

0

добавить это в ваш PHP код:

if(!empty($_GET['prdName'])){ 
    $prodName = $_GET['prdName']; 
    echo cartTable($prodName); 
} 

также некоторые исправления в ЯШ:

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

, я думаю, нет необходимости проверять, имеет ли значение переменная '$ prodName' или нет, потому что в верхнем коде сказано, что она не может идентифицируйте индекс переменной prdName. –

+0

В любом случае его следует проверить. Выше я сделал некоторые исправления, я думаю, это будет полезно. – lashab

+0

'# prodName' на самом деле является идентификатором скрытого ввода. так что этот код 'var pName = $ ('# prodName'). val();' не будет возвращать значение этого элемента –

0
if(isset($_GET['prdName'])){ 
$prodName = $_GET['prdName']; 
    echo $prodName; 
} 
-1

В index.php Получить значение prdName от $ _POST [] глобальный массив. для передачи данных в файле index.php добавить их тип: 'POST' в Ajax код

$.ajax({ 
    type:'POST', 
    url: 'index.php', 
    data: {'prdName': pName}, 
    success: function(data) { 
     $('#prod').html(data); 
    } 
}); 

или вы можете использовать $ .post() в JQuery

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

в index.php

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

Но OP использует '$ _GET []' в этом PHP код... – Terry

0

Вы должны отправить данные, как:

data: {prdName: pName}, 
Смежные вопросы