簡體   English   中英

在單個ejs頁面上進行2個AJAX調用

[英]2 AJAX call on a single ejs page

我的頁面有2個AJAX調用,可以說/ api1和/ api2。

/ api1使用ejs引擎渲染頁面,並且該頁面上有一個單擊/ api2的按鈕,這將打開一個模式/彈出窗口。

盡管打開了彈出窗口,但它僅顯示/ api1的數據,而不顯示/ api2的數據。

偽代碼如下:

 $("#my_button").click(function(e) { e.preventDefault(); $.ajax({ url: '/api2', method:'GET', data:{fieldname:'<%= data.fieldname %>'}, success: function(dataFromapi2){ $("#myModal").modal("show"); $("#myTable").html('<table class="table table-bordered">'+ '<thead><tr>' + '<th>Name</th>'+ '</tr>'+ '</thead>'+ '<tbody>'+ '<tr>'+ '<td><%= dataFromapi2.name %></td>'+ '</tr>'+ '</tbody>'+ '</table>' ); }, error: function (error) { $('#process_status').html(error); } }); }); 
 <div class="abc"> <!-- Diplaying the data of /api1 using <%= data.fieldname %> --> <button class="btn" id="my_button" name="my_button"> <!-- Modal --> <div class="" id="myModal" role="dialog"> <div class="modal-dialog"> <!--Modal content--> <div class="modal-content"> <div class="modal-body"> <fieldset> <div id="myTable" class="table-responsive"> </div> </fieldset> </div> </div> </div> </div> </div> 

上面的代碼存在於單個ejs文件(sample.ejs)中,該文件在調用/ api1時呈現。

調用/ api2時,它會在瀏覽器控制台上向我返回正確的響應,但是在ejs標記(<%%>)中使用該響應時,它會向我返回錯誤(未定義dataFromapi2。)

您的jQuery ajax調用似乎正在調用api2,這就是您想要的。 如果您看到的是api1而不是api2的結果,那么建議您從路由器開始檢查服務器配置。 之后,通過直接在服務器上使用curl http://localhost/api2來驗證控制器的行為是否正確。 如果仍然不能解決問題,那么dataFromapi2.name肯定有問題。 沒有更多信息,將很難調試您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM