這是我試圖實現的,我有一個控制器中的函數,它生成一個隨機密碼並返回相同的值,單擊按鈕時我想捕獲生成的密碼並顯示它在視圖(密碼字段)中。這裏是jQuery的/ AJAX調用:使用AJAX/JQuery獲得Codeigniter控制器方法的響應
$(document).ready(function(){
$("#generate_password").click(function(){
$.ajax({
type: "GET",
dataType: 'text',
url: "http://127.0.0.1/public/admin/content/manufacturers/generate_password",
async:false,
success: function(resp){
alert(resp); //this alerts BLANK
},
error: function(xhr, textStatus, error){
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
}
});
});
});
控制器功能:
public function generate_password($length = 9)
{
return $password_str;
}
是這個調用控制器的方法正確的方法是什麼?
爲什麼我會在alert中獲得空白值,即使在php中打印時我的值是否正確?
因爲它在管理區域可以這樣做的原因,不這麼認爲,但是有沒有因爲令牌的干擾?
首先:通過HTTP執行此操作顯然是不安全的。考慮需要HTTPS。 – rodamn
第二:您可以嘗試分而治之以確定客戶端或服務器是否失敗。您可以使用curl等手動方式發送請求,以查看響應的內容。乍一看,在ajax調用中我沒有看到任何明顯的東西,所以這就是爲什麼我首先建議您將客戶端ajax排除在外。 – rodamn
我理解你的擔憂,但只是試圖讓它正確的第一,然後我會在安全方面的工作 –