gpt4 book ai didi

javascript - 从 JavaScript 调用 PHP 函数时没有输出

转载 作者:行者123 更新时间:2023-11-28 18:51:01 25 4
gpt4 key购买 nike

我想从 JavaScript 调用 PHP 函数。

我通过传递两个参数来调用 PHP 函数,并且我希望 PHP 函数简单地回显这些参数。为此,我编写了以下代码,但它不起作用,这意味着代码不打印任何内容。请帮忙。

JavaScript

jQuery.ajax(
{
type: "POST",
url: 'save.php',
dataType: 'json',
data: {functionname:'saveUser', arguments:[username, password]},

success: function (obj, textstatus) {
if( !('error' in obj) ) {
alert(obj.result);
}
else {
console.log(obj.error);
}
}
});

PHP

<?php
header('Content-Type: application/json');
$aResult="done";

if( $_POST['functionname'] == 'saveUser' ) {

echo $_POST['arguments'][0] +" "+ $_POST['arguments'][1];
echo json_encode($aResult);
}
?>

最佳答案

通过使用+,您尝试将参数转换为数字并将它们相加。对于字符串连接,您需要 . 而不是 +:

echo $_POST['arguments'][0] . " " . $_POST['arguments'][1];

但是作为 Rayon points out在注释中,您将得到无效的 JSON 结果。

以下代码可以很好地访问参数,并返回 JSON:

<?php

header('Content-Type: application/json');
$aResult="done";


if( $_POST['functionname'] == 'saveUser' ) {

echo json_encode(Array(
'arg0' => $_POST['arguments'][0],
'arg1' => $_POST['arguments'][1],
'message' => $aResult
));
}
?>

当然,您的 JavaScript 不会查找这些属性名称。这将使用您当前的 JavaScript 来提醒该名称:

<?php

header('Content-Type: application/json');

if( $_POST['functionname'] == 'saveUser' ) {

echo json_encode(Array(
'result' => $_POST['arguments'][0] . ' ' . $_POST['arguments'][1]
));
}
?>

关于javascript - 从 JavaScript 调用 PHP 函数时没有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34478610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com