【问题标题】:Send $_POST data in ajax用 ajax 发送 $_POST 数据
【发布时间】:2017-05-28 08:28:51
【问题描述】:

首先,感谢您的关注,让我解释一下。 我想从下拉列表中获取 $_POST['Division'] :

`

<select name="Division" onchange="setImage2(this);">
   <option value="1">Bronze</option>
   <option value="2">Silver</option>
   <option value="3">Gold</option>
   <option value="4">Platinum</option>
   <option value="5">Diamond</option>
</select>

`

我尝试这样发送:

$.ajax({
  url: 'test_fnc.php',
  type: 'post',
  data: { "callFunc1": $_POST['Division'], "callFunc1A": "1"},
  success: function(response) { alert(response); }
});

但它不起作用,我可以请求您的帮助吗? 非常感谢 ! 问候。

【问题讨论】:

  • 您的帖子底部的 JS 代码在哪里,位于您的文件结构中?我不明白你想用 JS 发布什么
  • 这个函数在做什么setImage2(this);?

标签: javascript php jquery html ajax


【解决方案1】:

使用这个 insted。

 var sel = document.getElementsByName("Division")[0];
 var callFunc1_var= sel.options[sel.selectedIndex].value;
 your ajax code...
 data: { "callFunc1": callFunc1_var, "callFunc1A": "1"},
 your ajax code..

【讨论】:

  • 还需要检索第一个元素:var sel = document.getElementsByName("Division")[0];
  • 完美运行,正是我想要的!非常感谢!
  • @Robert 我在工作中更习惯使用id,所以在使用元素名称时很自然会出现错误,所以感谢您的帮助。
  • @Solber 如果她帮助了您,请接受回复,这样您就可以帮助将来遇到与您相同问题的人。
【解决方案2】:

这是 php 代码,所以你可以让它像这样工作:

data: { "callFunc1": <?php echo $_POST['Division']; ?>, "callFunc1A": "1"}

【讨论】:

  • 嘿,谢谢你的回答,但是当我放这个的时候,它不起作用,它只是冻结并且什么都不做:/
  • @Solber 您需要在 php 文件中使用此代码 wrap to &lt;script&gt;&lt;/script&gt; 此代码在 js 文件中不起作用
  • 你好,最后我用了别的东西,我在一个 php 文件中,但我用了这个:"callFunc1": select.options[select.selectedIndex].value
  • @Solber 你的问题标题是关于$_POST 这是一个php代码..你的情况你需要得到选择的选项值,这只是js代码..所以请编辑你的如何将选定的选项值传递给 php 的问题标题
  • @Solber 是你在setImage2 函数中的ajax 代码??
【解决方案3】:

1) 您必须将$.ajax 中的$_POST['Division'] 替换为$('#Division &gt; option:selected').val()

2) 您必须将html 中的&lt;select name="Division"&gt; 替换为&lt;select id="Division"&gt;

【讨论】:

    【解决方案4】:

    你应该使用jQuery浏览器端:

    $.ajax({
      url: 'test_fnc.php',
      type: 'post',
      data: { "callFunc1": $('[name=Division]').val(), "callFunc1A": "1"},
      success: function(response) { alert(response); }
    });
    

    【讨论】:

    • 嘿,感谢您的回答,但它不适用于下拉列表,它只是发送一个 0,但感谢您的回答!
    • 不应该。你有另一个 element.name “Division”吗?尝试将 id='Division' 添加到您的元素。然后使用$('#Division').val()
    • @Solber 这个函数在做什么setImage2(this);?
    【解决方案5】:

    所以要结束我的主题,这里是解决方案:

     $.ajax({
          url: 'test_fnc.php',
          type: 'post',
          data: { "callFunc1": select.options[select.selectedIndex].value, "callFunc1A": "1"},
          success: function(response) { alert(response); }
      });
    

    【讨论】:

    • select 变量是什么?
    • 我从 dropdwon 列表调用的函数中获得的变量!
    • 好吧,我们错过了那部分。
    • 那么 $_POST 数据怎么样?
    猜你喜欢
    • 2011-08-27
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 2019-04-09
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多