javascript - 如何将 JSON 对象附加到 GET url?

标签 javascript jquery json

发出 GET 请求很简单,只需在 anchor 标记的 href 属性中指定 URL 即可。

但是,如何将 JSON 对象添加到该 URL?

我猜这必须通过 jQuery 完成...但我无法使用 AJAX,或者浏览器不会呈现响应。

到目前为止,我已经尝试过:$j("#gen").attr("href", $j("#gen").attr("href") + "?"+ JSON.stringify({object: data})); 但它不会附加数据。这是在点击时触发的

最佳答案

GET 请求中的任何值都应该被 URL 编码到请求字符串中。

有一个jQuery.get()函数将为您执行此操作,但它所做的只是将一组名称/值对序列化为查询字符串参数。

我不太清楚您所说的无法使用 AJAX 是什么意思。使用 jQuery 你会做这样的事情:

$.get("foo/bar", { foo: "foo", bar: "bar" },
   function(data){
     $("#myTarget").append(data);
   });

当然假设返回值是 HTML。

好吧,我想我明白了一些。如果您只想将某个对象转换为查询字符串,那么您可以非常简单地推出自己的函数:

function toQueryString(obj){
    var formattedVals = [];

    for(var prop in obj){
        formattedVals.push(prop + "=" + obj[prop]);
    }

    return formattedVals.join("&");
}

您可以通过这样的方式调用它来了解它是如何工作的:

var data = { foo: "foo", bar: "bar" };

alert(toQueryString(data));

无论如何,这应该能让你完成 90% 的任务。

关于javascript - 如何将 JSON 对象附加到 GET url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9476470/

相关文章:

json - 如何从 meteor 中的数据库生成简单模式

python - Python 的 json 模块占用大量内存?

javascript - 如何将 javascript + jquery 转换为 unity csharp?

javascript - 如何伪造 Google 搜索位置?

Javascript 循环遍历对象集合

javascript - Jquery部分隐藏div

javascript - 从新的 HTML5 Canvas 开始

javascript - grunt 和 gulp 混淆 - 在另一个有 gulp 的项目中运行 gulp

javascript - 检查 for 循环内的 radio 输入(仅包含值的输入)

javascript - C# 对象到 Javascript 对象