gpt4 book ai didi

jquery - ajax post不发送数据

转载 作者:行者123 更新时间:2023-12-01 06:19:23 25 4
gpt4 key购买 nike

更新:我明白了。是 URL 问题,在将 POST 发送到服务器之前重定向并清除了 POST。

$('#addbtn').on('click',function() {

$.ajax({
type: "POST",
url: "/create/",
dataType: "json",
data: $('#MultiAdd').serializeArray(),
success: function (data) {
// this returns Failed. Please Try Again. c_name=
// c_name should equal the value from post.
alert(data.msg)
},
error: function (xhr, ajaxOptions, thrownError) {}
});

});

我似乎无法让它发布数据。我尝试过很多变体。看了几个小时试图找出问题所在。

我尝试过data: {test:'test'}(不起作用)

GET 函数可以,但我需要将其设为 POST。我也尝试过正常的.serialize()。还是没起作用。

这确实可以向我展示值(value)观。但 ajax 不会在提交中 POST 它们。

console.log($('#MultiAdd').serializeArray());

(在页面上,表单和ajax代码是动态添加的,但我认为不会有太大变化,我已经测试过了。)

更新:(我正在使用 codeigniter)- 服务器端。正在尝试访问 [input name="c_name"]

public function create()
{
$value = $this->input->post('c_name');

$msg = array("msg"=>"Failed. Please Try Again. c_name=".$value);

die(json_encode($msg));
}

最佳答案

如果 GET 请求有效,但 POST 无效,则最常见的是重定向问题。也就是说,虽然请求最初访问第一个 URL 并被重定向到另一个 URL,但所有 POST 数据都不会转发到另一个 URL。因此所有数据都会丢失。

可能发生的一些常见情况(取决于服务器配置):

  • “/method/” 可能会被您的网站重定向到 “/somethingCompletelyElse/”
  • “/method” 可能会被您的网站重定向到“/en/method”(语言重定向)
  • “method/” 可能会被您的网站重定向到“method”
  • “method” 可能会被您的网站重定向到“method/”(常见,额外的反斜杠)
  • “example.com/method” 可能会被您的网站重定向到“www.example.com/method”

你明白了。如果您查看网络面板并注意到没有发送任何数据,但响应为 200 OK,那么最好检查一下网络面板中的请求 URL 是否是您想要的在您的代码中指定。尽管这只有在现代浏览器中才可能实现。在较旧的浏览器中,您甚至不知道 URL 已被重定向。

例如(请参阅我的请求网址中缺少“en/”): enter image description here

关于jquery - ajax post不发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20082791/

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