我遇到了ajax的问题,所以这是来自My_Laravel_5 / public / js / init.js的原始调用
$('form#contactForm button.submit').click(function() {
$('#image-loader').fadeIn();
var contactName = $('#contactForm #contactName').val();
var contactEmail = $('#contactForm #contactEmail').val();
var contactSubject = $('#contactForm #contactSubject').val();
var contactMessage = $('#contactForm #contactMessage').val();
var data = 'contactName=' + contactName + '&contactEmail=' + contactEmail +
'&contactSubject=' + contactSubject + '&contactMessage=' + contactMessage;
$.ajax({
type: "POST",
url: "inc/sendEmail.php",
data: data,
success: function(msg) {
// Message was sent
if (msg == 'OK') {
$('#image-loader').fadeOut();
$('#message-warning').hide();
$('#contactForm').fadeOut();
$('#message-success').fadeIn();
}
// There was an error
else {
$('#image-loader').fadeOut();
$('#message-warning').html(msg);
$('#message-warning').fadeIn();
}
}
});
但是我需要调用位于My_Laravel_5 / app / Http / Controllers / sendEmail.php中的另一个文件 我试过这个:
但这不起作用请帮助。
答案 0 :(得分:1)
在Laravel中,您有一个app/Http/routes.php
文件,您可以在其中定义url,请求方法(get post delete ...)和控制器方法之间的绑定。
您应该添加到此文件:
Route::post('/yourAjaxUrl', 'ControllerNamespace\ControllerClassName@method');
其中ControllerNamespace
是sendEmail.php
的命名空间,而ControllerClassName
是您在此文件中写入的类的名称。
然后,在init.js
中,将ajax调用对象的url参数更改为/yourAjaxUrl
希望这会对你有所帮助。