如何将数组处理为获取STR到url
how to process an array as get str to url?
如何处理数组作为get STR到url?
我想发送一个数组到我的PHP页面作为get促进者,不关心有多长get str,它只在我的网站管理方面使用。我应该如何处理数组到一个字符串,当在PHP站点我可以重新处理它回数组。
<script type="text/javascript">
function arr_to_get_str(arr){
// how should I make a get string from an array?
// what format should this str shows
return str;
}
var arr=[
[
key :'products_id',
operator: '>',
value : '20'
],
[
key :'products_name',
operator: 'like',
value : '%hello world%'
]
];
var base_uri='http://localhost/test.php';
var url= base_uri + '?'+ arr_to_get_str(str);
location.href = url;
</script>
对于复杂的数据结构,最好的编码是JSON。JSON在URL中是相当低效的,因为很多字符需要进行低效的URL转义。对于Rison来说,这可能是一个很好的用例。您可以在网站上找到Javascript实现,在这里找到PHP实现。
不如用encodeURIComponent
:
var url= base_uri + '?q='encodeURIComponent(JSON.stringify(arr));
:
$arrParameters = isset($_GET['q']) ? json_decode(url_decode(($_GET['q'])) : array();
这将获得参数,如果没有则返回空数组。这不是最佳实践,但如果它是一个"黑客"管理系统,请使用它
-
创建一个JSON字符串的数组,&使用window.btoa
将其编码为Base64var jsonString = JSON.stringify(array); var encString = window.btoa(jsonString); // supports all except- ie- below version 10
-
发送请求参数
var url= base_uri + '?request='+ arr_to_get_str(arr);
-
在.php文件中,获取字符串&解码为Array或Object
$requestJsonStr = base64_decode($_GET['request']); //EITHER make an Array from the JSON-String $requestArray = json_decode($requestJsonStr, TRUE); //OR make an Object from the JSON-String $requestArray = json_decode($requestJsonStr, FALSE);
试试这个,
function arr_to_get_str(arr){
var str='';
var strarr= new Array();
for(var i=0;i<arr.length;i++)
{
strarr.push(arr[i]['key']+' '+arr[i]['operator']+' '+arr[i]['value']);
}
str=strarr.join(' AND ');
return str;
}
var arr=[
{
key :'products_id',
operator: '>',
value : '20'
},
{
key :'products_name',
operator: 'like',
value : '%hello world%'
}
];
var base_uri='http://localhost/test.php';
var url= base_uri + '?q='+arr_to_get_str(arr);
alert(url);
//http://localhost/test.php?q=products_id > 20 AND products_name like %hello world%
操纵http://jsfiddle.net/vSuDZ/相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 从ajax请求中获取javascript对象
- 如何从画布上的某个移动事件中获取X和Y
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在PHP中使用$_POST获取Select元素值
- JS .replace(str, str):如何获取参数 1 中的变量并全局工作
- Python - 从服务器获取数据 (ajax) - 'str' 对象不是可调用的错误
- 如何将数组处理为获取STR到url
- Str.replace(),获取匹配的数量,或替换的最后一个元素