【问题标题】:Submit an array via jquery / js通过 jquery/js 提交数组
【发布时间】:2017-02-13 19:19:29
【问题描述】:

如何通过 JS / JQUERY 将数组提交到新页面。 $.ajax 和 $.post 将数据返回到同一页面,但我需要将数组发送到新的 PHP 页面,与提交表单完全相同。

【问题讨论】:

  • 请阅读What topics can I ask aboutHow to ask a good questionthe perfect question 以及如何创建Minimal, Complete and Verifiable example SO 不是 免费的编码或代码转换或调试或教程或图书馆查找服务我们尝试修复您的代码,我们不编写您的代码
  • 请出示一些代码,我们将检查您是否仍然尝试过。
  • 我不要求写代码,我的问题是,当我们在代码中使用 $.ajax 和 $.post 时,Ajax 在同一页面返回数据。有什么方法可以将数组提交到新的 PHP 页面?
  • “提交数组到新的 PHP 页面”是什么意思?您想要来自页面 A 的请求和页面 B 中的响应吗?澄清。
  • @Nirjhar Lo: 是的,但是通过 js 或 jquery 之类的 document.createElement('form1') 并将数组添加到其中然后提交

标签: javascript php jquery html


【解决方案1】:

首先,您必须使用表单数据生成一个 java 脚本数组/对象。 看看:)

    <script>
$("#yourFormIdname").submit(function(){
    var first_name=$("#yourFirstNamefieldId").val();
    var last_name=$("#yourLastNamefieldId").val();
    var formData={first_name:first_name,last_name:last_name};
    $.ajax({
        url:"Give your target url",
        type:"POST",
        data:{formData:formData}
        })

})
</script>

在您的目标 PHP 页面中

$data=$_POST['formData']
print_r($data);

【讨论】:

  • 它将返回响应同一页面,我想重新加载目标页面。与提交表单完全相同
  • 你停留在目标页面吗?
  • 不,我想在目标页面重新加载,与提交表单相同。但问题是,我有一个多维数组并想将它发布到目标页面(提交它)。我的意思是同步而不是异步
【解决方案2】:

您可以使用名称字段作为数组,如

name="name[]"

这样你就会得到一个数组。

【讨论】:

    【解决方案3】:

    您不应该为此使用异步方法($.ajax、$.post、$.get)。而不是你应该 $('#form').submit() 真正的 HTML 表单,具有 action 属性。如果你使用像 'name="name[]"' 这样的名字,你可以提交数组。

    【讨论】:

    • 生成动态表格怎么样?假设我使用 document.createElement('form') ,我怎样才能在其中添加一个数组并提交它?
    • var form = $('body').append('
      '); $(form).append(''); $(form).append(''); $(form).append(''); $(form).submit();
    • 问题是,您正在添加动态输入,我在一个变量中有多维数组并想提交它
    • 您应该将您的数组编码为 json (api.jquery.com/serializeArray),将结果放入隐藏字段并提交表单。然后在服务器端你可以 decodeJson 并且你会得到你的数组。
    • serializeArray 也从对象制作数组,我已经有一个数组并想将其提交到目标页面
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    相关资源
    最近更新 更多