javascript - 发送时如何在不打开新页面的情况下使用php/ajax发送表单

标签 javascript php jquery ajax forms

我有一个小表单,如果表单已发送或出现问题,我会尝试返回一个 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'=>'subscriber added'
                     );
    echo json_encode($response);
    exit;
}

在我的 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: Unexpected token '}'. Expected ')' to end a argument list.

有人能看出我做错了什么吗?

最佳答案

您的 JavaScript 代码有错误:

$.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.
});

关于javascript - 发送时如何在不打开新页面的情况下使用php/ajax发送表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36715715/

相关文章:

javascript - Sitecore SPEAK 和 Javascript

javascript - 无法读取未定义的属性 setState

php - PHP 中的动态逻辑表达式解析/评估?

javascript - 将类名添加到使用 AJAX 和 PHP 数组生成的范围

javascript - Chrome 中的 CSS 延迟加载

javascript - 记住在网站上按下的标签

javascript - 如何在一定的时间间隔内重新执行一个函数?

javascript - Ionic 4 使用自定义图标更改 ion-tab-button

php - "function modifies argument passed by reference"是否有 PHP Doc 语法?

javascript - 在 jquery ajax 成功部分之前先完成调用