$ .post () не работает должным образом

0

Сегодня я использовал j Query $.post(); но я не могу найти причину проблемы, с которой я столкнулся. Ниже приведен фрагмент кода.

$(document).ready(function(){

    //When the button 1 is clicked
    $('#generateTable1').click(function(){

        //Get the Json data of the product low in stock
        $.post('database_to_phpJSON.php',{option:1},function(value){
            value=JSON.parse(value);
            console.log(value);
            alert("hi");
        },{dataType:'json'});

    });

});

теперь, когда я запускаю код, чем я не получил предупреждающее сообщение "Привет", а в консоли firebug я не видел вывод console.log. Но поскольку я удалил dataType из своего кода, все прекрасно работало... пожалуйста, позвольте мне заговорить за это.

  • 0
    Ваш php-файл, вероятно, не возвращает действительный JSON (невозможно сказать, поскольку вы не предоставили эту информацию, но это правильное предположение). Вы не получите свою функцию успеха, но функцию ошибок, которую вы не предоставили?
  • 0
    Не чувак, он возвращает JSON в качестве ответа как .... [{"product_name": "we", "company": "tyr", "amount": "50", "min_stock": "10"}, {" product_name ":" TRF», "компания": "ю", "количество": "50", "min_stock": "15"}]
Теги:

2 ответа

1
Лучший ответ

Это связано с тем, что при использовании $.post вы передаете dataType только как строку

$.post('database_to_phpJSON.php', {option:1}, function(value){

      console.log(value);

      alert("hi");

}, 'json').fail(function() {
      console.log(arguments); // will tell you what wrong
});

И результат будет автоматически анализироваться jQuery при использовании правильного типа данных

  • 0
    не работает до сих пор
  • 0
    Тогда вы не возвращаете верный JSON и получаете ошибку разбора.
Показать ещё 8 комментариев
1

Третий параметр относится к типу данных, вам нужно передать только строку, но объект.

    $.post('database_to_phpJSON.php',{option:1},function(value){
        // and if you set the datatype to json, the value is already parsed.
        // value=JSON.parse(value);
        console.log(value);
        alert("hi");
    }, 'json');
  • 0
    при этом я получаю сообщение об ошибке JSON.parse: неожиданный персонаж

Ещё вопросы

Сообщество Overcoder
Наверх
Меню