如何从第二页访问参数?

时间:2012-07-19 01:37:50

标签: javascript ajax parameter-passing

我有一个列出课程的页面。当学生点击其中一个课程标题时,它将使用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);
     });

2 个答案:

答案 0 :(得分:0)

如果url中的参数,请尝试:

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

答案 1 :(得分:0)

我宣布一个变量

var idInput = getParameterByName('courseId');

并定义函数

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

效果很好。