繁体   English   中英

使用AJAX将数据发送到PHP

[英]Sending data to PHP using AJAX

我在发布此问题之前已经搜索了我的问题,但未能找到解决方案。 我需要将一个json字符串发送到php文件但无法这样做,有人可以帮我解决下面的问题:我是php和jquery的新手并且正在努力,需要你的合作。

我有一个捕获文本文件数据的函数:

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']);?>

加载时:我收到以下错误:

无法加载资源:服务器响应状态为500(内部服务器错误)

而且,我不确定是否将数据发送到php。 专家们可以证实。

500(内部服务器错误)意味着服务器端出现了问题。 因此,请查看apache错误日志以获取更多详细信息

你可能会在这里找到apache log /var/log/apache2/

在客户端(javascript代码):

data: JSON.stringify(postData)

在服务器端(PHP代码):

json_decode($_POST["data"])

你用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);

来自@Tushar的评论帮助我解决了这个问题

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

发送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 ); });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM