Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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
Php 是否可以从url链接提取对象值?_Php - Fatal编程技术网

Php 是否可以从url链接提取对象值?

Php 是否可以从url链接提取对象值?,php,Php,我想使用PHP提取对象值,而不是url参数。 这是我的链接 php代码 print_r($_GET['id']); 当我打印时,我没有得到任何值为什么? 这是一个愚蠢的问题,请忽略。谢谢 不能通过HTTP直接传递JavaScript对象,因为HTTP不是JavaScript 通过对象上的JSON.stringify()将其序列化,然后将其作为encodeURIComponent()'d URL字符串传递 例如: let myObject = {'javascript': 1, 'isNumbe

我想使用PHP提取对象值,而不是url参数。 这是我的链接

php代码

print_r($_GET['id']);
当我打印时,我没有得到任何值为什么?
这是一个愚蠢的问题,请忽略。谢谢

不能通过HTTP直接传递JavaScript对象,因为HTTP不是JavaScript

通过对象上的
JSON.stringify()
将其序列化,然后将其作为
encodeURIComponent()
'd URL字符串传递

例如:

let myObject = {'javascript': 1, 'isNumberOne': true};
// Serialises the object into a string, then urlencode it
encodeURIComponent(JSON.stringify(myObject)); // "%7B%22javascript%22%3A1%2C%22isNumberOne%22%3Atrue%7D"

使用POST方法而不是GET。GET方法是一种老式的方法,很容易被黑客攻击。现在尝试重建您的程序!祝你好运。

你不能这样做,如果你不想在URL中有很多参数,那么就使用POST方法。为什么GET方法不能提取这些值?你不能在URL中发送对象。必须将每个对象值指定为POST/GET方法的唯一参数。出于安全考虑,POST方法在URL中没有这些参数,而GET方法在URL中有所有参数。您可以发送任何示例链接吗。谢谢@Rijo我附上了一个简短的示例。如何使用php在下一页提取“javascript=1”?如果使用上述方法传递JSON字符串,在php中使用
JSON_decode()
获取结果数组。这是我当前的链接编辑提取请求。php?id={“id”%3A“7”%2C”状态“%3A”0”%2C”支付方法“%3A”网上银行“%2C”客户id“%3A”1}我编写了这段代码,但无法获得输出$aa=json\u decode($\u get['id']);echo$aa['id'];