如何在发送时不用打开新页面而使用php / ajax发送表单 [英] How to send a form with php / ajax without opening a new page when send

查看:167
本文介绍了如何在发送时不用打开新页面而使用php / ajax发送表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个小表单,如果表单发送或出错,我试图返回一个ajax错误。



在connection.php中我有一个提交表单的脚本

  if($ _ POST ['postForm'] =='newsletter'){

$ newsletterSubscriber = new NewsletterSubscriber();
$ newsletterSubscriber-> set('CMS_newsletters_id',2);
$ newsletterSubscriber-> set('created',date('Y-m-d H:i:s'));
$ newsletterSubscriber-> set('firstName',$ _POST ['voornaam']);
$ newsletterSubscriber-> set('lastName',$ _POST ['achternaam']);
$ newsletterSubscriber-> set('companyName',$ _POST ['beddrijfsnaam']);
$ newsletterSubscriber-> set('emailAddress',$ _POST ['email']);
$ newsletterSubscriber-> set('subscribed',1);
$ saved = $ newsletterSubscriber-> save();

$ response = array('error_code'=> 0,
'message'=>'订阅者添加'
);
echo json_encode($ response);
出口;
}

在我的scripts.js中我有我的ajax:

  $。ajax({
type:POST,
url:connection.php,
data :{param1:'aaa'},
dataType:JSON
})
.done(function(data){
if(data.error_code == 0){
alert(data.message);
}
}
});

我收到的错误是:

  SyntaxError:意外标记'}'。预期')'结束参数列表。 

有人可以看到我做错了吗?



  $。ajax({ 
类型:POST,
url:connection.php,
data:{param1:'aaa'},
dataType:JSON
})
.done(函数(数据){
if(data.error_code == 0){
alert(data.message);
}
//你有一个extra} here。
});


I have a little form and I'm trying to return a ajax error if the form is send or when something went wrong.

in connection.php I have a little script that submits the form

if($_POST['postForm'] == 'newsletter'){

    $newsletterSubscriber = new NewsletterSubscriber();
    $newsletterSubscriber->set('CMS_newsletters_id', 2);
    $newsletterSubscriber->set('created', date('Y-m-d H:i:s'));
    $newsletterSubscriber->set('firstName', $_POST['voornaam']);
    $newsletterSubscriber->set('lastName', $_POST['achternaam']);
    $newsletterSubscriber->set('companyName', $_POST['beddrijfsnaam']);
    $newsletterSubscriber->set('emailAddress', $_POST['email']);
    $newsletterSubscriber->set('subscribed', 1);
    $saved = $newsletterSubscriber->save();

    $response = array('error_code'=>0, 
                      'message'=>'subscriber added'
                     );
    echo json_encode($response);
    exit;
}

in my scripts.js I have my ajax:

$.ajax({
    type: "POST",
    url: "connection.php",
    data: {param1: 'aaa'},
    dataType: JSON
})
.done( function(data){
        if(data.error_code == 0) {
           alert(data.message);
        }
    }
});

The error that I receive is:

SyntaxError: Unexpected token '}'. Expected ')' to end a argument list.

Can somebody see what I'm doing wrong?

解决方案

Your JavaScript code has an error:

$.ajax({
    type: "POST",
    url: "connection.php",
    data: {param1: 'aaa'},
    dataType: JSON
})
.done( function(data){
        if(data.error_code == 0) {
           alert(data.message);
        }
//You had an extra } here.
});

这篇关于如何在发送时不用打开新页面而使用php / ajax发送表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆