【问题标题】:sending post request javascript发送 post 请求 javascript
【发布时间】:2016-03-24 22:26:24
【问题描述】:

我正在开发一个应用程序,该应用程序应该向执行特定计算的内部页面发送发布请求

当按下一个按钮时,页面(dashboard.php)打印另一个页面的内容(calculate_salary.php)

到目前为止,这是我的 js 代码:

<script language="JavaScript" type="text/javascript">

    function getXmlHttpRequestObject() {
      return new XMLHttpRequest();
    }
    var receiveReq = getXmlHttpRequestObject();
    function sayHello() {
      if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
        var start_date = $("#start_date").val();
        var end_date = $("#end_date").val();
        receiveReq.open("GET", 'calculate_salary.php', true);
        receiveReq.onreadystatechange = handleSayHello;
        receiveReq.send(null);
      }
    }
    function handleSayHello() {
      if (receiveReq.readyState == 4) {
        document.getElementById('span_result').innerHTML = receiveReq.responseText;
      }
    } 
    </script>

我想将 start_date 和 end_date 中的值发送到 calculate_salary.php 页面

我将使用该计算页面执行一些 sql 语句并返回结果。

如何创建此请求? POST 不是绝对必要的,我愿意使用其他技术(js、php)来完成工作

谢谢

【问题讨论】:

  • 你需要把receiveReq.open("GET", 'calculate_salary.php', true);改成receiveReq.open("POST", 'calculate_salary.php', true);
  • 是否必须以普通的JavaScript 进行调用?
  • 我已将其更改为 post,它没有发送超过 start 和 end_date

标签: javascript php


【解决方案1】:

你可以用ajax代替

$.ajax({
    url:"calculate_salary.php",
    type:"POST",
    data:{
        start_date = $("#start_date").val(),
        end_date = $("#end_date").val()
    },
    success:function(response){
        $('#span_result').html(response);
    }
});

您可以阅读有关$.ajax$.post 的更多信息

【讨论】:

    【解决方案2】:

    您必须生成带有 url 的查询字符串,如下所示:
    var url = 'calculate_salary.php?start_date='+start_date+'&end_date='+end_date; receiveReq.open("POST", url, true);

    因为您没有发送值,所以您没有在服务器端接收值。

    您可以在此处找到另一个示例: How do I pass along variables with XMLHTTPRequest

    还要检查一下: http://devzone.co.in/jquery-serialize-function-ajax-post-bigger-html-forms/

    【讨论】:

      猜你喜欢
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 2017-07-13
      • 2010-10-12
      • 2015-06-10
      • 1970-01-01
      相关资源
      最近更新 更多