Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 声明ajax函数时出错_Javascript_Jquery_Node.js_Webpack_Webpack Dev Server - Fatal编程技术网

Javascript 声明ajax函数时出错

Javascript 声明ajax函数时出错,javascript,jquery,node.js,webpack,webpack-dev-server,Javascript,Jquery,Node.js,Webpack,Webpack Dev Server,我正在使用webpack构建我的项目,但问题是当我声明一个ajax调用函数时,如下所示: <script> var self = this; login(){ $.ajax({ url: '/feedback', type: 'POST', data: params, success: function(res){ if(r

我正在使用webpack构建我的项目,但问题是当我声明一个ajax调用函数时,如下所示:

<script>
    var self = this;

    login(){
        $.ajax({
            url: '/feedback',
            type: 'POST',
            data: params,
            success: function(res){
                if(res == 'OK'){
                    alert("Received your message. We shall get back to your shortly.");
                }
            },
            error: function(err){
                console.log('error: ', err);
            };
        })
    }
</script>
注意:当我删除ajax函数时,没有任何错误

这是我的网页包配置:

var path = require('path');
var webpack = require('webpack');
module.exports = {
    entry: './index.js',
    output: {
        path: __dirname,
        filename: 'public_html/js/bundle.js'
    },
    resolveLoader: {
        root: path.join(__dirname, 'node_modules')
    },

    module: {
        preLoaders: [{
            test: /\.tag$/,
            exclude: /node_modules/,
            loader: 'riotjs-loader',
            query: {
                //type: 'none'
                //compact: true
            }
        }],
        loaders: [
            /*{
                test: /\.tag$/,
                loader: 'tag',
                exclude: /node_modules/
            },*/
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                query: {
                    //commenting because of this issue https://github.com/mapbox/mapbox-gl-js/issues/3422
                   // presets: ['es2015']
                }
            }
        ]
    },
    plugins: [
        new webpack.optimize.OccurenceOrderPlugin(),
        new webpack.ProvidePlugin({
            riot: 'riot',
        })
    ]
};

你有一些格式不正确的JS——我猜这就是你的问题所在:

var self = this;

login(){ // <== WHAT'S HAPPENING HERE? IS LOGIN SUPPOSED TO BE A FUNCTION DECLARATION?
    $.ajax({
        url: '/feedback',
        type: 'POST',
        data: params, // LESS CRITICAL, BUT I DON'T SEE params DEFINED ANYWHERE
        success: function(res){
            if(res == 'OK'){
                alert("Received your message. We shall get back to your shortly.");
            }
        },
        error: function(err){
            console.log('error: ', err);
        }; // <-- THERE SHOULDN'T BE A SEMICOLON HERE!!!!
    })
} // <== THERE *MIGHT* NEED TO BE A SEMICOLON HERE, DEPENDING ON WHAT YOU'RE TRYING TO DO
var self=this;

login(){//可能重复:@T–nNguỹn有太多不同类型的处理程序。相同的配置在我的另一个项目中运行良好。
login(){
@T–nNguỹn对于ajax调用,我认为没有什么特别之处handler@kittu:仅在对象初始值设定项或类中,而不是像此处所示的独立。此处的操作是尝试调用
登录
,然后是包含ajax代码的独立块。问题是分号anied指出。@anied:这是o有趣的是,这是一个函数调用(
login()
),后跟一个独立的块。:-@kittu——即使您允许,您的错误状态也是
语法错误:意外标记(16:17)
--现在很难确定,因为这不是您的源代码,而是复制/粘贴到源代码中的,但就在这附近有一个分号--我很确定这就是Webpack的要害所在。它可能会打包其他东西,但T.J.Crowder可能是正确的,它一旦尝试在浏览器中执行,就不会飞行。@anied谢谢。它是就像一个愚蠢的人,但不符合我的想法bounds@kittu-没问题,很高兴你把问题解决了。有时候,多看一眼问题会有帮助。
var self = this;

login(){ // <== WHAT'S HAPPENING HERE? IS LOGIN SUPPOSED TO BE A FUNCTION DECLARATION?
    $.ajax({
        url: '/feedback',
        type: 'POST',
        data: params, // LESS CRITICAL, BUT I DON'T SEE params DEFINED ANYWHERE
        success: function(res){
            if(res == 'OK'){
                alert("Received your message. We shall get back to your shortly.");
            }
        },
        error: function(err){
            console.log('error: ', err);
        }; // <-- THERE SHOULDN'T BE A SEMICOLON HERE!!!!
    })
} // <== THERE *MIGHT* NEED TO BE A SEMICOLON HERE, DEPENDING ON WHAT YOU'RE TRYING TO DO