Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   функция ajax() (https://javascript.ru/forum/jquery/52149-funkciya-ajax.html)

yintar 05.12.2014 18:29

функция ajax()
 
Всем привет!!!
Вопрос следующий ,мне в параметр url функции ajax надо передать функцию из файла.т.е есть файл functions.php,а в этом файле есть 3 функции одна из них и должна обрабатывать ajax запрос. Я пишу так :
$.ajax({
                type: "POST",
                url: 'functions/view_cat',
                data: "category_id=" + category_id,


view_cat и есть та самая функция в файле functions.php но не работает
Вопрос: как правильно прописать передачу функции view_cat в параметр url?

tsigel 05.12.2014 18:31

$.ajax({
                type: "POST",
                url: 'functions/view_cat',
                data: {"category_id": category_id}

yintar 05.12.2014 18:32

причем здесь ваши скобки.Вы вопрос читали?

tsigel 05.12.2014 18:38

yintar,
не до конца) Просто в data правильно передавать объект а не строку.
function setToServer(serverFunc, success, data) {
   $.ajax({
                type: "POST",
                url: 'functions/' + serverFunc,
                data: data,
                success: success
   });
}

setToServer("view_cat", function (data) {/** ответ от сервера */}, {category_id: "123"});

yintar 05.12.2014 18:48

$.ajax({
                type: "POST",
                url: 'functions/view_cat',
                data: {"category_id": category_id}

а в чем разница(кроме известной поговорки)?

bes 06.12.2014 22:07

Цитата:

Сообщение от tsigel
Просто в data правильно передавать объект а не строку.

а остальное неправильно?
http://api.jquery.com/jQuery.ajax/
Цитата:

data
Type: PlainObject or String or Array

yintar, оно?
function view_cat() {
	echo "view_cat";
}
$f = $_POST["function_name"];
eval( "$f();" );


но, очевидно, лучше так не делать

bes 06.12.2014 22:40

вот ещё путь
url: "functions/functions.php?view_cat"


function view_cat() {
	echo "view_cat";
}
if ($_SERVER['QUERY_STRING'] == "view_cat") {
	view_cat();
}


Часовой пояс GMT +3, время: 15:37.