发出 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/