我有关于从JS向PHP发送多个数据的问题,我正在使用angularJS。问题是我无法接收任何数据,我是像AngularJS这样的东西的初学者。这是我的JS部分:
var data = {"name":name, "cin":cin, "job":job};
var config = {
params: data,
headers: { 'Content-Type': 'application/json' }
};
$request = "php/readFromDatabase.php";
$http.post($request, config).then(function (response) {
$scope.collectionData = response.data.records;
});
这应该没关系,我的数据作为struct(对象)的名称和cin和job是变量当我使用angularJS控制器单击按钮时,应该启动此函数并调用PHP文件:
<?php
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');
$name = $_POST['name'];
我使用这些信息在数据库中查找数据,然后我将它们作为JSON格式回显我想使用$ http.get {}所以我可以调用response.data.records而不是使用$ ajax {}。 问题是这个$ _POST ['name']不起作用; 即使这不起作用:
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$name = $request->name;
正如我所说,我是新来的,所以请告诉我我做错了什么,因为我找不到任何可以帮助我的东西,我把我在互联网上找到的所有内容都捆绑在一起。 希望有人能帮助我,并提前感谢你。
Edit :
这是我的JS文件:
app.controller('shearch_data', function ($scope, $http) {
$scope.ShearchFunction = function () {
var name = " ";
if ($('#toggle_name').prop('checked') == true)
name = $('#inputName').val();
var cin = " ";
if ($('#toggle_cin').prop('checked') == true)
cin = $('#inputCIN').val();
var job = " ";
if ($('#toggle_job').prop('checked') == true)
job = $('#inputJob').val();
var data = {'name': "ffss", 'cin': cin, 'job': job};
var url = "php/readFromDatabase.php";
$http.post(url, data).then(function (response) {
$scope.collectionData = response.data.records;
}).catch(function (err) {
alert('something went wrong')
});
};
});
我的PHP:
<?php
header("Access-Control-Allow-Origin: *");
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$name = $request->name;
$cin = $request->cin;
$job = $request->job;
$output = "";
$output .='{"Name":"'.$name.'",';
$output .='"Job":"'.$job.'",';
$output .='"Cin":"'.$cin.'"}';
$output = '{"records":[' . $output . ']}';
echo($output);
这就是我正在尝试做的测试,使用http.post将数据从JS发送到PHP,然后我将其作为json接收,现在是jsut for test。
答案 0 :(得分:0)
params
从配置中删除'Content-Type
,这些是用于GET url查询字符串参数
编辑:如果您要设置的只是application/json
标题,则不需要配置.... var config = {
headers: { 'Content-Type': 'application/json' }
};
var url = "php/readFromDatabase.php";
$http.post(url, data, config).then(function (response) {
$scope.collectionData = response.data.records;
}).catch(function(err){
alert('Ooops...something went wrong')
});
是默认设置
thumb4_btn.addEventListener(MouseEvent.CLICK, gocontact);