2013-07-27 4 views
0

Я пробовал много методов, из учебников и других вопросов, но ничего не работает. Я пытаюсь получить данные, отправленные из php в div и переменные с jquery. У меня есть массив, установленный на стороне PHP, и все работает нормально, но на стороне Jquery я всегда получаю неожиданное сообщение об ошибке идентификатора или DIV остается пустым или обаВставить разобранный JSON в html

var var_numdatacheck = <?php echo $datacheck; ?>; 
    var var_rowtest = parseInt(var_numdatacheck); 
function waitupdate(){ 
$.ajax({ 
      type: 'POST', 
      url: 'update.php', 
      data: {function: '3test', datacheck: var_rowtest}, 
     dataType: "json", 
      success: function(check) { 
      var data = JSON.parse(check); 
       var_rowtest = data[id]; // sets the variable numcheck as the new id number    
        $('#datacheck').html(data[0]); // I've confirmed data[0] has a value but the div is left blank 


      } 

    error: function(msg) { 
    console.log(msg)// here i get an unexpected identifier error 
    } 

     }); 
    } 


    $(document).ready(function() { 
    waitupdate(); 
    }); 

Выхода из РНР

{"id":"4","0":"Name"} 

здесь фактический код PHP

<?php 
require "dbc.php"; 

    $function = $_POST['function']; 
    $datacheck = $_POST['datacheck']; 
    $search="SELECT * FROM Feedtest ORDER BY id DESC"; 
    $request = mysql_query($search); 
    $update= mysql_fetch_array($request); 
    $updateid = $update['id']; 
    $updatecheck = mysql_num_rows($request); 
    $data = array(); 



    if ($function == $datacheck){ 
    echo $updatecheck; 
    echo $datacheck; 
    } 

    if ($function == "3test" && $updatecheck > $datacheck)  {  
    $updatesearch="SELECT * FROM Feedtest WHERE id = '$updateid' ORDER BY id DESC"; 
    $updatequery = mysql_query($updatesearch); 
    $check['id'] = $updateid; 
    while ($row = mysql_fetch_array($updatequery)){ 
    ?> 

<?php $check[]= $row['First Name']; ?> 
<?php 
} 

echo json_encode($check); 
} 
?> 
</div> 
</ul> 
+0

его должен быть 'data [" 0 "]', я думаю .. – krishgopinath

+0

попробовал это, и все еще нет нет:/ – grasshopper

+0

- это 'data' массив? – krishgopinath

ответ

1

Это будет работать для вас,

var var_rowtest = data['id']; 
var value= data[0]; 

установить переменную var_rowtest и value в ваш div при необходимости.

Я думаю var_rowtest = data[id]; не правильный синтаксис, используйте выше синтаксис

+0

Хмм по-прежнему не работает с ['id'], если он нужен для 0? – grasshopper

+0

Правильная функция 'waitupdate()' получает вызов? –

+0

hmmm ... на самом деле не похоже, что это сейчас, но я уверен, что это было в какой-то момент, потому что заголовки http отображали сообщение для update.php – grasshopper

1

Пожалуйста, попытайтесь изменить имена переменных, и эта функция ошибки объявлена ​​в $ .ajax бросил ошибку JS для меня.

Другое дело, что не является необходимым является JSON.parse - Я сделал PHP скрипт под названием "update.php" вернуться обратно правильный заголовок:

<?php header('content-type: application/json');?> 

Этот код работает:

var numDataCheck = 1, 
    rowTest = parseInt(numDataCheck); 
function waitupdate() { 
    $.ajax({ 
     type: 'POST', 
     url: 'update.php', 
     data: {function: '3test', datacheck: rowTest}, dataType: "json", 
     success: function(data) {    
      rowTest = data.id; 
      $('#datacheck').html(data[0]); 
     } 
    }); 
} 

$(document).ready(function() { 
    waitupdate(); 
}); 
Смежные вопросы