[英]How to send javascript array to php?
因此,我嘗試了很多解決方案,但沒人為我工作。 所以我有一個javascript數組,我應該將其傳遞給php
以便將其上傳到mysql
。
此代碼在php
頁面中,該頁面是可編輯的網格。 如果在網格中按Enter,它將創建一個新行,其中包含editeble單元格的值,並且該值進入var val=[]
並且應該通過`php進入mysql
。
我嘗試了兩種傳遞方式,如下所示
代碼我有:
<script type="text/javascript" >
var dbs=0;
var val=[];
function myFunction(e) {
if(e.keyCode == 13){
var newId = (new Date()).valueOf();
var value=gridbox.cells(1,0).getValue();
gridbox.addRow(newId,value);
val.push(value);
gridbox.cells(1,0).setValue('');
gridbox.editCell(1,0);
dbs=dbs+1;
}
}
function upload(){
var jsonString = JSON.stringify(val);
/*$.ajax({
type: "POST",
url: "upload.php",
data: {'data' : jsonString},
cache: false,
success: function(){
alert("OK");
}
});*/
var jsonData = $.ajax({
url: "upload.php",
data: { 'data' : val},
dataType:"json",
async: false
}).responseText;
}
</script>
upload.php的
並且它在數據庫中創建了一個新的空行,因此它可以運行,但是$ data為空
//$data = json_decode(stripslashes($_GET['data']));
$data=$_GET['data'];
// here i would like use foreach:
/*
foreach($data as $d){
echo $d;
}*/
$db_irattar = new indotekDbConnection("irattar");
for($i=0;$i<4;++$i){
$sql="INSERT INTO akt_hely(Tipus,Megnevezes)
VALUES('2','$data[$i]')
";
}
$db_irattar->Execute($sql);
$db_irattar->Close();
unset($db_irattar);
?>
在我看來,您正在分配var jsonString = JSON.stringify(val);
並在ajax中發送val
。
嘗試
var jsonData = $.ajax({
url: "upload.php",
data: { 'data' : jsonString},
dataType:"json",
async: false
}).responseText;
代替
var jsonData = $.ajax({
url: "upload.php",
data: { 'data' : val},
dataType:"json",
async: false
}).responseText;
並像$data=json_decode($_GET['data']);
這樣在php中解碼json字符串$data=json_decode($_GET['data']);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.