gpt4 book ai didi

jquery - jQuery $.getJSON() 能满足我的需要吗?

转载 作者:行者123 更新时间:2023-12-01 02:47:46 25 4
gpt4 key购买 nike

我一直在尝试编写一个脚本,在其中我可以将数据发布到与源页面域不同的域中的页面。我阅读了有关这样做的所有问题,并且信息引导我使用了 jQuery.getJSON 函数,但我不确定这是否有效。

这是我的场景:

我有一些 JavaScript 变量(对于这个例子,我们只使用 c1、c2、c3、c4 和 c5)。因此,我想将这 5 个变量的值发送到另一个域上的脚本。

我知道如何使用 $.get() 或 $.post() 之类的东西来做到这一点 - 我会做类似的事情:

$.post("myscript.php", { c1:c1, c2:c2, c3:c3, c4:c4, c5:c5 } );

我不清楚 (1) getJSON 是否能到达我需要的地方,(2) 如果是,那么 jQuery 调用 getJSON 函数(与 .post 函数)有什么区别,以及 if我需要在服务器端做一些不同的事情(出于我的目的,我现在只想以可视方式显示值)。

编辑:在阅读答案时,也许我需要澄清一下。我正在寻找一种将数据从一个页面发送到不同域上的另一个页面的方法(如果可能的话)。我理解安全问题,所以如果不可能,那就很糟糕,但我理解。但如果有一种使用 jQuery 的方法,那就是我正在寻找的(以及一个使用我的 c1 - c5 变量的小例子)。谢谢。

最佳答案

当然,您可以在 JSONP 模式下使用 $.getJSON() 将数据发送到另一台服务器(跨域)。只是您的数据必须是查询字符串的一部分,并且您可以发送的数据量受到限制,因为您不能拥有无限长的查询字符串。服务器端处理数据的方式不会发生变化,因为请求将显示为带有 params 的普通 HTTP GET

这是一个取自 jQuery API 文档的示例。这将从 Flickr JSON API 中提取 4 张最新的狗图片。

Working Demo

var c1 = "dog";
var c2 = "any";

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", {
tags: c1,
tagmode: c2,
format: "json"
}, function(data) {
$.each(data.items, function(i, item) {
$("<img/>").attr("src", item.media.m).appendTo("#images");
if (i == 3) return false;
});
});

请注意 c1c2 如何作为 GET 参数传入。 jsoncallback=? 参数指示 jQuery 将请求作为 JSONP 请求,并且在进行跨域调用时是必需的。

这就是您的脚本的外观:

var orderId = 1337;
var customer = encodeURIComponent("John Doe");
var amount = 420;

$.getJSON("http://www.otherserver?jsoncallback=?", {
oId: orderId,
cust: customer,
amnt: amount
},

function(data) {
//process response if any
});

生成的示例 HTTP 请求:

http://www.otherserver/?jsoncallback=jQuery16305821700256783515_1315685969538&oId=1337&cust=John%2520Doe&amnt=420&_=1315685969636

HTH。

关于jquery - jQuery $.getJSON() 能满足我的需要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7374051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com