Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-发布时调用非法_Javascript_Jquery - Fatal编程技术网

Javascript jQuery-发布时调用非法

Javascript jQuery-发布时调用非法,javascript,jquery,Javascript,Jquery,我正在创建一个联系人表单,执行该表单时出现以下错误: 未捕获类型错误:非法调用 这是我的密码,似乎找不到有什么问题。 如果您希望看到问题的现场解决: 我以前用过它,现在我对验证做了一些更改,只是稍微清理了一下,它开始困扰我 感谢我能得到的一切帮助 谢谢大家! 您的post数据如下所示 post_data = {'cName':name, 'cEmail':email, 'cCompany':company, 'cPhone':phone, 'cSkype':skype, 'cBudget':bu

我正在创建一个联系人表单,执行该表单时出现以下错误:

未捕获类型错误:非法调用

这是我的密码,似乎找不到有什么问题。 如果您希望看到问题的现场解决:

我以前用过它,现在我对验证做了一些更改,只是稍微清理了一下,它开始困扰我

感谢我能得到的一切帮助


谢谢大家!

您的post数据如下所示

post_data = {'cName':name, 'cEmail':email, 'cCompany':company, 'cPhone':phone, 'cSkype':skype, 'cBudget':budget, 'cMessage':message};
请注意,您引用的所有变量都是jQuery对象

var name        = $('#contact input[name="name"]');
var email       = $('#contact input[name="email"]');
var company     = $('#contact input[name="company"]');
var phone       = $('#contact input[name="phone"]');
etc ...
无法使用
$发送jQuery对象。post
,这是一种“非法调用”,您可能需要该值

var post_data = {
    cName  : name.val(), 
    cEmail : email.val(), 
    etc ...
}

post_data
对象上的值是jQuery对象,而不是字符串:

post_data = {'cName':name, 'cEmail':email, 'cCompany':company, 'cPhone':phone, 'cSkype':skype, 'cBudget':budget, 'cMessage':message};
相反,您应该得到它的值:

post_data = {
  'cName': name.val(),
  'cEmail': email.val(),
  'cCompany': company.val(),
  'cPhone': phone.val(),
  'cSkype': skype.val(),
  'cBudget': budget.val(),
  'cMessage': message.val()
};
但是使用提交表单字段值有一种更简单的方法:

$.post('contactsubmit.php', $('#contact').serialize(), function(data) {
}, 'json');

控制台通常也会告诉你错误在哪一行。我在你发布的链接中没有发现错误。我知道,但它会把我扔到jquery源文件@FelixKlingTry,填充所有非(可选)字段)+选择一个预算@J08691作为旁注,你有一个完全无用的if语句。首先,回调只在成功时触发,因此
response.type
不太可能是
error
,其次,在条件的两个部分中都执行相同的操作
$.post('contactsubmit.php', $('#contact').serialize(), function(data) {
}, 'json');