javascript innerhtml不会将变量发送到链接

时间:2015-11-06 05:51:34

标签: javascript php jquery ajax laravel

我正在使用ajax工作laravel我发送数据到服务器我得到用户然后我不会编辑视图和删除用户 我正在使用javascript innerhtml为用户创建一个表,但是当我创建了编辑视图的链接并删除它时,重定向却没有发送数据,而是将变量作为链接发送。

这是我的ajax

<script>
function getstudent(str) {
    var xmlhttp;
    var dep = document.getElementById("department").value;

    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4) {

            var data = xmlhttp.responseText;
            var obj = JSON.parse(data);
            var x = obj.length;
            var j;

            var table = document.getElementById("myTable");
            var head = document.getElementById("head");
            // table.innerHTML="<tbody> </tbody>"
            head.innerHTML = " <tr> <th>identification</th><th>first name</th><th>last name</th> <th>gfname</th> </tr>"
            //document.getElementById("mytable").innerHTML=' ';
            table.appendChild(head);

            for (j = 0; j <= x; j++) {

                var row = table.insertRow(j + 1);

                // Insert new cells (<td> elements) at the 1st and 2nd position of the "new" <tr> element:
                var cell1 = row.insertCell(0);
                var cell2 = row.insertCell(1);
                var cell3 = row.insertCell(2);
                var cell4 = row.insertCell(3);
                var cell5 = row.insertCell(4);
                var cell6 = row.insertCell(5);
                var cell7 = row.insertCell(6);
                // Add some text to the new cells:
                cell1.innerHTML = obj[j].identification;
                cell2.innerHTML = obj[j].name;
                cell3.innerHTML = obj[j].fname;
                cell4.innerHTML = obj[j].gfname;
                var user = obj[j].id;
                cell5.innerHTML = "<a href='{{ action("
                UserController@show "," + user + ") }}' class='btn btn-default'>View</a>&emsp;";
                cell6.innerHTML = "<a href='{{ action("
                UserController@edit "," + user + ") }}' class='btn btn-default'>View</a>&emsp;";
                cell5.innerHTML = "<a href='{{ action("
                UserController@destroy "," + user + ") }}' class='btn btn-default'>View</a>&emsp;";

            }
        }
    }

    xmlhttp.open("GET", "indexstudget/" + str + "/" + dep, true);
    xmlhttp.send('');
}

这是我观点的一部分

<div class="form-group">
    <label class="col-md-4 control-label">Department</label>
    <div class="col-md-6">
        <select id='department' class="form-control" name="department" onchange="year(this.value)">
            <option>select</option>@foreach( $departments as $department)
            <option name="department" value={{ $department->id }}> {{$department->name}}</option>@endforeach</select>
    </div>
</div>
<br>
<br>
<div class="form-group">
    <label class="col-md-4 control-label">Year</label>
    <div class="col-md-6">
        <select id='demo' name='demo' class="form-control" onchange="getstudent(this.value)">
            <option>select</option>
        </select>
    </div>
</div>@if ( $students->isEmpty() ) There are no students. @else
<table class="table table-striped" id="myTable">
    <thead id="head"></thead>
</table>@endif
<div class="panel-body"> <a href="{{ action('RegistrarController@create') }}" class="btn btn-primary">Create user</a>

    </form>
</div>
</div>

它创建了包含用户正确列表的表,但是当我点击它时,它会发送变量而不是数据

像这样

url http://project/edituser/+user+

1 个答案:

答案 0 :(得分:0)

我将控制器操作更改为直接路由,并且工作正常。就像这个

"<a href='{{ action("UserController@show","+user+") }}' class='btn btn-default'>View</a>&emsp;"
"<a href='showuser/"+user+"' class='btn btn-default'>View</a>&emsp;"