几个问题:
我正在使用 CI 和 JQuery AJAX。
在下面的代码中,我组装了 dataString
,默认情况下,它会作为查询字符串附加到 URL。
我已将 AJAX“类型”更改为 POST,所以我的问题是 - 如何在 CI 应用程序中访问 dataString
?
看来我还是得用
$name=$this->input->post('name')
对我来说,这使得设置 dataString
变得多余?
--
我尝试过搜索,但找不到任何具体内容。
是否仍然可以使用 CI 验证库和 AJAX?
if($this->form_validation->run() == FALSE)
{
// what can i return so that my CI app shows errors?
}
通常您会重新加载联系表单或重定向用户。在理想的情况下,我希望向用户显示错误消息。
Jquery:
$(document).ready(function($){
$("#submit_btn").click(function(){
var name = $("input#name").val();
var company = $("input#company").val();
var email = $("input#email").val();
var phone = $("input#phone").val();
var message = $("textarea#message").val();
var dataString = 'name=' + name + '&message=' + message + '&return_email=' + email + '&return_phone=' +
phone + '&company=' + company;
var response = $.ajax({
type: "POST",
url: "newsite/contact_ajax/",
data: dataString
}).responseText;
//$('#contact').hide();
//$('#contact').html('<h5>Form submitted! Thank you!</h5><h4>We will be in touch with you soon.</h4>');
//$('#contact').fadeIn('slow');
return false;
});
});
希望我已经说得足够清楚了 - 如果有人有 CI 联系表的合适示例,那就太好了。互联网上的东西五花八门,但没有什么是符合所有条件的。
谢谢
最佳答案
正如我在评论中所写,您不需要设置 dataString
因为 jQuery 可以为您做到这一点:
$(document).ready(function($){
$("#submit_btn").click(function(){
var response = $.ajax({
type: "POST",
url: "newsite/contact_ajax/",
data: $(your_form_id).serialize()
}).responseText;
//$('#contact').hide();
//$('#contact').html('<h5>Form submitted! Thank you!</h5><h4>We will be in touch with you soon.</h4>');
//$('#contact').fadeIn('slow');
return false;
});
});
关于jquery - CodeIgniter 中的 AJAX 联系表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4604140/