gpt4 book ai didi

javascript - 如何模拟 GET 操作并将其传递到同一页面而不重新加载?

转载 作者:行者123 更新时间:2023-12-02 20:27:33 25 4
gpt4 key购买 nike

因此,我正在创建一个网站,该网站从服务器获取数据(名称,带有自动完成脚本),收集所有数据,然后在提交时将收集的数据发送到服务器以获取 JSON 字符串以便在页面下方进一步使用。

但是,该服务器没有最后一部分,我需要模拟它。但我不知道怎么办。

使用 HTML、JS、jQuery,不使用其他内容。

所以问题是,由于结构已经存在,

如何获得

<form action="Search" method="get">
<input type="hidden" name="foo"/>
<input type="hidden" name="bar"/>
<input id="submitButton" type="submit" value="Search"/>
</form>

其中 foo 和 bar 在提交时将具有值,

最终成为一个包含 foo、bar 和我刚刚编写的一些随机数据的 JSON 对象,

在 .js 中,按下提交后,无需重新加载页面。 (也就是说,按“提交”只会启动脚本并向其提供表单数据,但不会执行其他任何操作)

编辑:抱歉,更改了帖子以获取。服务器在工作时,会用JSON响应GET。

最佳答案

将您期望从服务器返回的任何 JS 数组/对象放入 returnedData 中:

$(function(){
var handleNewData = function(data){
alert('I got:\nfoo:'+data.foo+'\nbar:'+data.bar+'\nresults:'+data.results);
};
var reallySubmit = false;
$('form').submit(function(evt){
if (reallySubmit){
$.get(this.action,$(this).serialize(),handleNewData,'json');
}else{
// Put whatever spoof data you want here.
var returnedData = {
foo:this.elements.foo.value,
bar:this.elements.bar.value,
results:["jim", "jam", "jamboree"]
};
handleNewData( returnedData );
return evt.preventDefault();
}
});
});

请参阅此处的工作示例:http://jsfiddle.net/sQtkY/4/

编辑:抱歉,我忘记了如果您传递参数,jQuery 会为您正确解析 JSON 字符串。更新了答案以显示这一点;无需字符串化您的欺骗值。

编辑 2:好的,还有一项更新向您展示如何包含表单值以及欺骗数据。

关于javascript - 如何模拟 GET 操作并将其传递到同一页面而不重新加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4617574/

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