jquery
  • json
  • 2009-09-25 3 views 0 likes 
    0
    $.ajax({ 
    url: "_includes/contactform.php", 
    type: "POST", 
    data:'name=' + nameValue + "&email=" + emailValue + "&text=" + textValue + "&checkbox=" + checkValue + "&submit=true", 
    dataType:"json", 
    success: function(data,result,res) { 
    alert(res); 
    console.log(data); 
    if(data.checkbox == "true"){ 
        $("#success h1").html("The form was sent successfully. Thank you for signing up for our newsletter.") 
    } 
    

    });jquery застрял?

    Мой скрипт застревает во время работы.

    здесь является возвращение сервера:

    $json_array = array("checkbox" => $checkbox); 
    echo json_encode($json_array); 
    

    ответ

    1

    Посмотрите на вкладке Firebug Net, чтобы увидеть, что данные возвращаются или если сервер возвращает 500.

    1

    Вы также можете посмотреть в Firebug и посмотреть, что было отправлено и что было возвращено.

    Возможно, вы также захотите, чтобы ваш contactform.php работал с GET и тестировал его в браузере, убедившись, что ваш скрипт не вызывает никаких проблем.

    Устранение неполадок по одной части за раз, и часто используйте firebug. :)

    Обновление: просто посмотрел на ваш javascript, и проблема в вашей функции успеха.

    Перейти на json.org, получить javascript-файл (посмотреть на языки в нижней части страницы). Разберите переменную данных и получите объект json. Затем используйте этот результат в javascript.

    Проблема в том, что вы считаете, что результат json уже является объектом javascript, а это не так. Вам нужно преобразовать его в один, либо используя функцию eval (очень рискованно), либо используя библиотеку для ее анализа.
    Вот пример того, что я описываю: http://www.factsandpeople.com/facts-mainmenu-5/26-html-and-javascript/89-jquery-ajax-json-and-php

    или вы можете попробовать это, что $ .getJSON http://docs.jquery.com/Ajax/jQuery.getJSON

    +0

    я использовать отладчик Сафари. он возвращается: {"checkbox": "false"}; это похоже на то, что он не возвращается правильно. – 2009-09-28 19:54:17

    +0

    Если вы используете Firebug на Firefox, вы можете увидеть, что на самом деле было возвращено в запросе. Если в вашем комментарии есть json, он должен быть возвращен. Затем речь идет о том, как вы обрабатываете результат, что должно произойти. –

    +0

    Если весь ваш PHP-скрипт для обработки этого ответа - это то, что вы показали нам, и вы получаете {"checkbox": "false"} как ответ сервера, то это потому, что ваше значение для $ checkbox равно false. Это также означает, что вы принимаете «register_globals» (что, честно говоря, было бы ужасающим). Я принимаю здесь много вещей, поэтому выпрямите меня, если я ошибаюсь, чтобы я мог больше помочь вам. – KyleFarris

    Смежные вопросы