2015-04-25 3 views
0

Я пытаюсь вызвать другую функцию php-файла с помощью ajax. Вот Ajax вызовов:Вызвать метод PHP с Ajax

функция getBaseURL() {

  var pathArray = location.href.split('/'); 
     var protocol = pathArray[0]; 
     var host = pathArray[2]; 
     var url = protocol + '//' + host; 
     return url+"/PhpProject2"; 
    } 

    function getPageSaverUrl() { 
return getBaseURL()+"/manager/content_manager/page_saver.php/SaveTest"; 
} 

function savePage() { 
alert("Saving Page"); 
var url = getPageSaverUrl(); 
$.ajax({ 
    type: "POST", 
    url: url, 
    data: "name=hello", 
    success: function(response){ 

    alert(response); 
    } 
}); 
} 

Но я не получаю никакого ответа от сценария. Можно ли вызвать php funciton из параметра ajax url?

+0

Вы можете использовать AJAX ударить сайт конечной точки, независимо от того, задний конец язык. Вы пытались написать URL-адрес на консоль, чтобы убедиться, что это правильно? Вы пробовали сделать базовую форму для публикации на этом URL-адресе с помощью ввода, чтобы узнать, работает ли это? (например,

blah blah blah
). Или вы можете попробовать запрос с клиентом клиента браузера (cRest для chrome, RESTful для firefox), чтобы убедиться, что ваша конечная точка работает правильно. – Taplar

ответ

0

Вы не можете вызвать функцию php из параметра ajax url.

Вы можете использовать параметр с помощью AJAX вызова см следующего кода -

function getPageSaverUrl() { 
    return getBaseURL()+"/manager/content_manager/page_saver.php?param=SaveTest"; 
} 

затем в файл page_saver.php, вам нужно получить параметр «пары», который будет иметь значение «SaveTest», а затем выполнить это функция.

Попробуйте это, сообщите мне, если у вас есть дополнительные вопросы.

0

Прежде всего ajax и обычный HTTP-запрос являются одинаковыми в соответствии с бэкэнд. Они попали на сервер и исследовали URL-адрес, который вы назвали.

если вы позвоните - "http://website.com/mypages/page1".

Он достигает 80 порта на сервере website.com

если приложение слушает этот порт получит запрос. в случае приложения php. Сервер apache получает запрос и исследует URL-адрес «/ mypages/page1» внутри настроенного корня документа. И найдите каталог «page1» внутри «mypages» напрямую, если не переписывайте правила. Если индексный файл, который вы настроили, - index.php, он ищет его и запускает. В этом индексном файле вы получаете данные с использованием переменной php в соответствии с типом запроса. если это пост-данные «$ _POST» или строка запроса «$ _get» или некоторые другие файлы php. И вы должны вызвать требуемую функцию в соответствии с вашими потребностями с помощью php-логики.

В приведенном выше AJAX данных должен быть

data:{name:"hello"} 

или иным образом, если вам нужно отправить данные формы использования

$(form).serialize() 
Смежные вопросы