jQuery form - PHP скрипт "не найден", но сообщение успешно отправлено - PullRequest
0 голосов
/ 06 декабря 2010

Я использую плагин jQuery Form , чтобы создать очень простую форму контакта. Однако, похоже, что между ним и PHP-скриптом, который я использую, есть некоторый конфликт (?).

Звонок очень прост, вот так:

$('.contactform').ajaxForm({
    target: '#error',
    beforeSubmit: function() { 
        $('#error span').remove();
        $('#error').append('<p class="loading">Sending your message...</p>');
    },
    success: function() {
        $('#error p.loading').fadeOut();
        $('#error').fadeIn('slow');
    }
});

по умолчанию принимает метод POST из формы. Что происходит, сценарий застревает на «отправке вашего сообщения», хотя сценарий PHP успешен, дает ответ и отправляет сообщение правильно. Я проверил в Firebug, и похоже, что для скрипта PHP есть ошибка 404, но ответ правильный (см. Изображение)

alt text

Мне бы хотелось помочь в устранении проблемы - скрипт PHP, который якобы невозможно найти, можно посмотреть здесь: http://pastie.org/1350597

Понятия не имею, что может вызвать такое странное поведение. Заранее спасибо!

1 Ответ

1 голос
/ 06 декабря 2010

Я бы сказал, что WordPress устанавливает заголовок 404 (не найден) где-то в этой строке:

include "../../../../wp-blog-header.php"

Фактический php работает правильно, но WordPress ожидает URL к сообщению в блоге.Вместо использования include вы можете использовать require:

require "../../../../wp-blog-header.php"

В зависимости от версии WordPress вам, возможно, придется принудительно установить заголовок на 200 OK:

status_header(200);
nocache_headers();

Некоторые другиепримеры здесь:

http://wordpress.org/support/topic/integrating-wp-in-external-php-pages

...