SQL-запрос с использованием AJAX в теме Wordpress - PullRequest
1 голос
/ 04 октября 2011

Я пытаюсь использовать AJAX для вставки данных в базу данных, но не могу подключиться к файлу .php на стороне сервера. Я думаю, это связано с тем, что все это выполняется в Wordpress, поэтому мой обычный URL-путь к файлу .php может быть неправильным.

Вот мои настройки:

Файл шаблона:

$('#newsletter-register').submit(function(){
    var ajaxRequest;  // The variable that makes Ajax possible!

    try{
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        // Internet Explorer Browsers
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }

    ajaxRequest.onreadystatechange = function(){

        if(ajaxRequest.readyState == 4){
            alert(ajaxRequest.responseText);
        }
    }

    ajaxRequest.open("GET", "register_newsletter.php", true);
    ajaxRequest.send(null);

});

'# newsletter-register' - это форма, которую пользователь будет использовать для отправки своей информации. Предупреждение, когда ajaxRequest находится на readyState 4, генерируется правильно, но будет пустым значением.

Мой php - это простой эхо, возвращающее строку, указывающую на правильность соединения (в настоящее время я просто пытаюсь выяснить, правильно ли файлы вызывают друг друга).

Я думаю, что это должен быть URL-путь к register_newsletter.php, так как я пытался поместить код в файл шаблона, снаружи и т. Д.

Мой файл javascript находится в /theme/assets/js/code.js, где мои файлы шаблонов (включая файл register_newsletter.php) находятся в / theme.

Есть идеи?

1 Ответ

1 голос
/ 04 октября 2011

У меня вчера был такой тип проблемы. В моей ситуации доступ к странице был бы возможен только с

www.site.com/aFolder/ 

Скрипт хранился в моем

'/wp-content/themes/themeName/processForm.php'

папка.

и URL-адрес, который я использовал:

../wp-content/themes/themeName/processForm.php

Мой JS был просто в заголовке основного файла header.php, но учтите, что URL-адрес, который я должен был использовать, был относительно URL-адреса страницы, с которой был получен доступ к скрипту. Это проливает свет на вещи?

EDIT:

В качестве шагов по устранению неполадок попробуйте убедиться, что вы можете получить доступ к своему php-файлу по его абсолютному URL-адресу, и загляните в firebug, чтобы увидеть, какая ссылка вызывается при запуске запроса ajax, чтобы убедиться, что он совпадает с тем, что вы ожидаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...