簡體   English   中英

帶有參數的jQuery getJSON請求

[英]jquery getJSON request with params

這是我的js腳本:

$.getJSON(riceviPaginaPrincipale, {tipo: "Principale"}).done(function(data) {
    $("#contenitorePaginePrincipali").empty();
    $.each(data.risultato, function(){
        $("#contenitorePaginePrincipali").append('<button class="btnMenu">'+this['Nome']+'</button>');
    });
    $("#contenitorePaginePrincipali").append('<button class="btnMenu" onclick="creaPagina()"> Crea nuova pagina </button>');
});

這是我的PHP腳本:

<?php
//It includes session script php and global variables
include('../../sessione.php');

$tipo = $_POST['tipo'];

if(!$conn){
    mysqli_close($conn);
    $_SESSION['error'] = "Connessione al database pagine fallita.";
}
else{
    $comando = "select * from Pagine where Tipo='$tipo'";
    $result = mysqli_query($conn, $comando);
    $res = array();

    while($row = mysqli_fetch_array($result)) {          
        array_push($res, array('Nome' => $row[2]));
    }
    $_SESSION['error'] = "Connessione al DataBase pagine riuscita, pagine recuperate.";
}
echo json_encode(array("risultato" => $res));
?>

但這不起作用。 我什么都沒收到。

您當前正在向服務器發送GET請求。 我想像一下這會由於$ tipo = $ _POST ['tipo']行上缺少驗證而引起一些錯誤。

您應該研究使用jquery http://api.jquery.com/jquery.post/中的POST,並確保您驗證了代碼

if ($_SERVER['REQUEST_METHOD'] == 'POST') { // post handling }

是一個基本的起點。

您還應該檢查要發送給MySQL的查詢,該查詢對SQL Injection是開放的。 調查使用http://php.net/manual/zh/book.pdo.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM