Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据传递给json/php web服务_Php_Javascript_Jquery_Ajax_Web Services - Fatal编程技术网

将数据传递给json/php web服务

将数据传递给json/php web服务,php,javascript,jquery,ajax,web-services,Php,Javascript,Jquery,Ajax,Web Services,我正在尝试使用JQuery将一些数据传递给web服务。下面是一个简单的客户端: <script type="text/javascript"> $(function () { $.ajax({ type: "POST", url: "webservices/gammeList.php?lang=fr", contentType: "application/json; charset=utf

我正在尝试使用JQuery将一些数据传递给web服务。下面是一个简单的客户端:

<script type="text/javascript">
    $(function () {
        $.ajax({
            type: "POST",
            url: "webservices/gammeList.php?lang=fr",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: onSuccess,
            error: onError
        });
    });

    function onError(result) {
        alert("error");
    }

    function onSuccess(result){
        alert(JSON.stringify(result));
    }
</script>
我总是从web服务中得到“en”。因此,在这里,我应该使用相同的方法
$\u GET['lang']
访问输入数据吗?我做错了什么

编辑:
我在
$\u POST['lang']
中更改了
$\u GET['lang']
,但仍然不起作用。

因此,请使用服务器端
$\u POST
,而不是
$\u GET

$_POST['lang']

因此,请使用服务器端的
$\u POST
,而不是
$\u GET

$_POST['lang']

您可以使用服务器端$\u请求,该请求将同时适用于POST和GET方法:

$_REQUEST['lang']

您可以使用服务器端$\u请求,该请求将同时适用于POST和GET方法:

$_REQUEST['lang']

您应该将
array
传递给
json\u encode函数

<?php
    // Also you are using post method in ajax so use $_POST or $_REQUEST here
    if (isset($_REQUEST['lang']) && !empty($_REQUEST['lang'])) {
        $lang = $_REQUEST['lang'];
    } else {
        $lang = "en";
    }

    echo (json_encode(array($lang)));// here passing array to json_encode
?>

您应该将
数组
传递给
json\u encode函数
like

<?php
    // Also you are using post method in ajax so use $_POST or $_REQUEST here
    if (isset($_REQUEST['lang']) && !empty($_REQUEST['lang'])) {
        $lang = $_REQUEST['lang'];
    } else {
        $lang = "en";
    }

    echo (json_encode(array($lang)));// here passing array to json_encode
?>

您使用的是
$\u GET[“Key”]
,这是不正确的,因为您在POST变量中传递数据

您可以使用
$\u请求[“键”]

$\u POST[“key”]

检索发送到PHP脚本的数据

要了解更多关于这些的信息,请参考下面的链接


您使用的是
$\u GET[“Key”]
,这是不正确的,因为您在POST变量中传递数据

您可以使用
$\u请求[“键”]

$\u POST[“key”]

检索发送到PHP脚本的数据

要了解更多关于这些的信息,请参考下面的链接



$\u POST['lang']
中更改
$\u GET['lang']
后,它仍然不起作用。我删除了以下行:

contentType:“应用程序/json;字符集=utf-8”


然后使用默认值
'application/x-www-form-urlencoded;charset=UTF-8'
它工作了。

$\u-POST['lang']
中更改
$\u-GET['lang']
后,它仍然不工作。我删除了以下行:

contentType:“应用程序/json;字符集=utf-8”


然后使用默认值
'application/x-www-form-urlencoded;charset=UTF-8'
它成功了。

我很困惑。如果我使用
$\u REQUEST['lang']
它可以正常工作。但是与
$\u POST['lang']
一样的行为..我感到困惑。如果我使用
$\u REQUEST['lang']
它可以正常工作。但是使用
$\u POST['lang']
仍然有相同的行为。。
$lang = $_POST["lang"];