【问题标题】:How to access a parameter from second page?如何从第二页访问参数?
【发布时间】:2012-07-19 01:37:50
【问题描述】:

我有一个列出课程的页面。当学生单击其中一个课程标题时,它将使用 AJAX 将参数(courseId)传递到第二个页面,该页面将返回课程详细信息。第二页如何访问参数(courseId)?如果我直接在源中输入一个值而不是访问参数,它会显示详细信息:

var idInput = 12345;
var regNoInput = 098766;

当我尝试getElementById 访问参数时,它没有显示任何详细信息:

var idInput = document.getElementById("courseId").value;
var regNoInput = document.getElementById("regNo").value;

我也尝试将参数作为 PHP 变量访问,但仍然没有详细信息:

var idInput = "${courseId}";
var regNoInput = "${regNo}";

这是我的第一页脚本,参数是使用url传递的:

  success: function(json_results){
    $('#list').append('<ul data-role="listview" data-inset="true"</ul>');
    listItems = $('#list').find('ul');
    $.each(json_results.rows, function(key) {
     html = "<li data-mini='true' id='icon'><a href='MRegisteredClassesDetail.html?
            courseId=" + [json_results.rows[key].courseId] + "&regNo=" +
            [json_results.rows[key].regNo] +"' rel='external'>" + 
            json_results.rows[key].courseName+ "</a>" + "<a 
            href='http://137.57.102.146:8080/Training/MRateCourse.phone?courseId="+ 
            [json_results.rows[key].courseId] + "&regNo=" +   
            [json_results.rows[key].regNo] + "' rel='external'>RATE THIS COURSE</a>
            </li>" ; 
     listItems.append(html); 
    }); 

这是我的第二页,它应该读取参数值:

  var idInput = "${courseId}";
  var regNoInput = "${regNo}";

   success: function(json_results){
     $('#list').append('<ul data-role="listview" data-inset="true"</ul>');
     listItems = $('#list').find('ul');
     $.each(json_results.rows, function(courseId) {
     html  ='<h1 align=center>'+json_results.rows[courseId].courseName+'</h1>';
     html +='<li>Registration Number:'+json_results.rows[courseId].regNo+'</li>';
     html +='<li>Registration Date:'+json_results.rows[courseId].regDate+'</li>';
         listItems.append(html);
     });

【问题讨论】:

  • 如何将信息传递到下一页?
  • 是的..它在 url..这里是 url.. " + json_results.rows[key].courseName+ "
  • @sone: sample code 应该完整、简洁且具有代表性。目前,示例代码不满足这些要求。
  • 您应该使用GETPOSTSESSION 将数据从一个页面传递到另一个页面。您不能在 JavaScript 中使用 PHP 变量。 PHP 在服务器端执行,而 JavaScript 在客户端(通常)。在这种情况下,您可能需要使用 $_GET。

标签: javascript ajax parameter-passing


【解决方案1】:

如果是url中的参数,试试这个:

var params=window.location.search.substr(1).split("&"),
    idInput=params[0].split("=")[1],
    regNoInput=params[1].split("=")[1];

【讨论】:

    【解决方案2】:

    我声明了一个变量

    var idInput = getParameterByName('courseId');
    

    并定义函数

    function getParameterByName(name) {
            var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
            return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
        }
    

    效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 2021-12-22
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 2021-01-07
      • 1970-01-01
      相关资源
      最近更新 更多