簡體   English   中英

無法使用ajax將數據發送到php文件

[英]can not Send data to php file using ajax

我有這個php文件graph.php

$host = $_POST['hostname'];
echo $type=$_POST['type_char'];
include('rrdtools.inc.php');
include('graphs/'.$type.'.inc.php');

我試圖使用此ajax代碼將數據發送到此文件

var type_char='fortigate_cpu';//$('#graph').val();
var hostname='10.10.0.144';//$(this).attr('id');
//$('#device_host').val(id);

$.ajax({
    type: 'POST',
    url: 'SNMP/graph.php',
    data: { hostname:hostname,type_char:type_char },
    success: function(data) {
        alert(data);
        // show the response
        $("#grph").attr("src", 'SNMP/graph.php');
        console.log(data);
    }
});

將數據發送到該文件時的結果是

當我在apache日志中打開error.log文件時,將fortigate_cpu作為type_char變量的值獲取此消息

include():無法打開要包含的“ graphs / .inc.php”(include_path =“。:/ usr / share / php”)

如您所見,即使char_type變量是由ajax發送並打印在頁面包含文件中的,即使包含在char_type變量中,fortigate的值也不會包含在include函數中

include( 'graphs/fortigate_cpu.inc.php')  

即使從Ajax接收到變量,為什么類型也不包含在包含會話中

正如其他用戶在評論中提到的那樣,也許您的問題是,在包含rrdtools.inc.php之后,您將type設置為其他值。

嘗試對類型變量進行隨機化(更改名稱):

$host = $_POST['hostname'];
echo $type123456=$_POST['type_char'];
include('rrdtools.inc.php');
include('graphs/'.$type123456.'.inc.php');

這是我唯一能想到的,因為我(和其他人)都已經測試過您的代碼。 (前端和后端)。

PS:包括使用post param是一個壞習慣。

暫無
暫無

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

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