2015-10-21 108 views
3

在發佈此問題之前,我已經搜索了我的問題,但未能找到解決方案。 我需要發送一個JSON字符串到PHP文件,但無法這樣做,有人可以幫助我的問題如下:我是新來的PHP和jquery和掙扎,需要你的合作請。使用AJAX向PHP發送數據

我有拍攝在文本文件中的數據的函數:

function updateVal() { 
var node_list = document.getElementsByTagName('input'); 
var c = 0; 
var fieldName = []; 
var fieldText = [] 
var ID = []; 
for (var i = 0; i < node_list.length; i++) { 
    var node = node_list[i]; 
    if (node.getAttribute('type') == 'text') { 
     fieldName[c] = node.name; 
     fieldText[c] = node.value; 
     ID[c] = node.id; 
     c++; 
    } 
} 
var postData = { 
    fieldName: fieldName, 
    fieldText: fieldText, 
    ID: ID 
}; 
var dataString = JSON.stringify(postData); 


console.log(JSON.stringify(postData)); 
$.ajax({ 
     type: "POST", 
     dataType: "json", 
     url: "update.php", 
     data: {myData:postData} 
     }) 

//return JSON.stringify(postData); 
} 

我update.php是這樣的:

<?php 
$json = $_POST['json']; 
$result = json_decode($json); 

echo $result; 
echo $_POST['myData']);?> 

在加載這樣的:我發現了以下錯誤:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

此外,我不知道如果數據被髮送到php或不。 專家可以驗證。

+0

嘗試'數據:JSON.stringify(postData),' – Tushar

+0

@Tushar無法正常工作。內部服務器錯誤,說無法解碼值 – user4943236

+1

嘗試'contentType:'application/x-www-form-urlencoded; charset = UTF-8',數據:{json:JSON.stringify(postData),' – Tushar

回答

3

500(內部服務器錯誤)意味着服務器端出了問題。因此,檢查Apache的錯誤日誌以瞭解更多詳細信息,

你會發現這裏/var/log/apache2/

1

Apache日誌ü評論功能的結束括號與return語句。 更改此:

//return JSON.stringify(postData);} 

到:

//return JSON.stringify(postData); 
} 

另外:

data: JSON.stringify(postData), 

IN update.php

$json = $_POST['myData']; 
$result = json_decode($myData); 

var_dump($result); 
+0

對不起,這是一個錯字,更新我的問題,以反映更改 – user4943236

+0

我不知道與內部服務器錯誤 –

+0

ini_set(「display_errors」,「1」); error_reporting(E_ALL);你可以嘗試把這些檢查任何錯誤。或檢查Apache的錯誤日誌 – Nero

2

在客戶端(JavaScript代碼):

data: JSON.stringify(postData) 

在服務器端(PHP代碼):從@Tushar

json_decode($_POST["data"]) 
0

評論幫我解決這個問題

contentType: 'application/x-www-form-urlencoded; charset=UTF-8', data: {json: JSON.stringify(postData) 
0

發送Ajax請求PHP頁面獲取數據

$.ajax({ method: "POST", // it may be Get url: "some.php", //page where you sent request data: { name: "John", location: "Boston" } //attibutes you want to take on that page }) .done(function(msg) { // sucessfull reponse alert("Data Saved: " + msg); });