2015-03-12 2 views
0

Я получаю значения из html-формы через javascript, и я пытаюсь вызвать функции php, которые принимают аргументы через AJAX. Но я не могу это сделать. Как я могу это сделать?Как вызвать php-функцию с аргументами в jquery AJAX

код PHP:

<?php 
function updateJbdesc($jobdesc,$loginid) 
{ 
    include 'dbc.php'; 
    // Create connection 
    $conn = new mysqli($hostname, $username, $dbpassword, $dbname); 
    // Check connection 
    if (!$conn) 
    { 
     die("Connection failed: " . mysqli_connect_error()); 
    } 
    $sql = "update table profile set employee_title ='$jobdesc' where login = '$loginid'"; 
    if (mysqli_query($conn, $sql)) 
    { 
     echo "New Project Added!"; 
    } 
    else 
    { 
     echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
    } 
    mysqli_close($conn); 
} 

?> 

Ajax код:

$.ajax({ url: 'allfunctions.php', 
     data: {action: 'updateJbdesc'}, 
     type: 'post', 
     success: function(output) { 
         alert(output); 
        } 
}); 

Как я могу передать аргументы функции PHP через AJAX?

+1

где вы вызываете функцию 'updateJbdesc()' ??? 'помещать его как действие не вызывает его автоматически.' –

+1

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

+0

Я думаю, что вы используете wordpress Ajax – kishan

ответ

0

Вам нужно добавить код, чтобы получить значения $ _POST и использовать их для вызова функции.

$val0 = $_POST[ 'val0' ]; 
$val1 = $_POST[ 'val1' ]; 
$functionId = $_POST[ 'functionid' ]; 

$result = -1; 
if($functionId == 0) $result = somefunction($val0, $val1); 
else $result = someotherfunction($val0, $val1); 

# echo this to return result to ajax 
echo $result; 

Вы можете передать значение через AJAX для PHP сказать какую функцию вы хотите:

$.ajax({ url: "myurl.php", 
    data: { val0: "val0", val1: "val1", functionid: "identifier" } 
}).done(function(result) { alert(result); }); 
Смежные вопросы