2016-08-14 67 views
1

我很迷路,我想要做的就是花數組到我的JavaScript代碼。我見過很多例子,但沒有結束我的工作。我需要一些幫助。我很困難。PHP陣列到JS不工作

functions.js

function cargaTemperatura(idsem){ 
 
    $.ajax({ 
 
     type: "POST", 
 
     url: "load_temp.php", 
 
     data: { idsem : idsem }, 
 
     dataType: "json", 
 
     success: function(data){ 
 
      alert(JSON.parse(data)); 
 
     },error: function(data){ 
 
      alert('error'); 
 
     } 
 
    }); 
 
};

load_temp.php

<?php 
 
include_once 'Includes/db.php'; 
 
$select = "SELECT * FROM CalTmp WHERE idsem='".$_POST['id_sem']."'"; 
 
$result = mysqli_query($link, $select) or die($select); 
 
$array = mysqli_fetch_all($result,MYSQLI_ASSOC); 
 
debug_to_console($result->num_rows); 
 
debug_to_console($_POST['id_sem']); 
 
echo json_encode($array);

+1

'id_sem' ='idsem' –

+0

警告:您的代碼是*寬*開放給** SQL注入攻擊**。 – David

回答

1

我的建議:
- 步驟1:在load_temp.php。硬編碼idsem值。檢查瀏覽器。請確保有一個JSON字符串
- 第2步:加入這一行

header("Content-type: application/json"); 

<?php 
0

解決後!

我已經通過庫MooTools解決了。我最後的代碼是:

Functions.js

function cargaTemperatura(idsem){ 
 
    var idsemJSON = JSON.encode(idsem); 
 
    alert(idsemJSON); 
 
    var miAjax = new Request({ 
 
     url: "carga_temp.php", 
 
     data: "idsem=" + idsemJSON, 
 
     onSuccess: function(data){ 
 
      alert(data); 
 
     }, 
 
     onFailure: function(){ 
 
      $('resultado').set("html", "fallo en la conexion Ajax"); 
 
     } 
 
    }); 
 
    miAjax.send(); 
 
};

load_temp.php

<?php 
 
$misDatosJSON = json_decode($_POST["idsem"]); 
 

 
include_once 'Includes/db.php'; 
 
$select = "SELECT * FROM CalTmp WHERE idsem='".$misDatosJSON."'"; 
 
$result = mysqli_query($link, $select) or die($select); 
 
$array = mysqli_fetch_all($result); 
 
debug_to_console($result->num_rows); 
 
debug_to_console($_POST['id_sem']); 
 
echo json_encode($array);

我希望有人會服務有用。 當然,錯誤在於發送不是JSON格式的變量。 !

感謝,