Ожидаемая точка с запятой Ajax - Jquery - PullRequest
0 голосов
/ 05 октября 2018

Итак, у меня есть запрос ajax, и он дает мне сообщение "Ожидается;" ошибка.

        $(document).ready(function () {
            $("#btnSubmit").bind("click", function () {
                var ids[] = null;
                var dates[] = null;
                createUpdateArrays();
                var url = "/hello/index/";
                $.ajax({
                    type: "Post",
                    url: url,
                    data: { ids: ids, dates: dates },
                    async: false,
                    contentType: "application/json;charset=utf-8",
                    success: function (success) {
                        if (success === true) {
                            alert("HERE WE ARE");
                        }
                        else {
                            alert("eror")
                        }
                    },
                    error: function (e) {
                        alert("eror")
                    }
                });
            });
            createUpdateArrays() {  // Expected ; <---- here
                $('.id').each(function(i) {
                    var rid = $(this).id;
                    $('.planned-date').each(function(x) {
                        if (i===x) {
                            var date = $(this).text;
                            ids.push(rid);
                            dates.push(date);
                        }

                    });
                });
            }; // <--- this is where the createUpdateArrays function ends. 
        });

Я указал, где происходит ошибка в коде.Я не понимаю, что это такое, я чувствую, что я синтаксически прав.Я поместил точку с запятой там, где заканчивается функция.Если кто-то может помочь, это было бы здорово.Я чувствую, что это небольшая ошибка или я что-то упускаю.Спасибо.

Ответы [ 4 ]

0 голосов
/ 06 октября 2018

Уже нельзя выдвигать что-либо в идентификаторы и даты из функции createUpdatesArray.Потому что идентификаторы и даты не определены как глобальные переменные.Ваша функция сообщения всегда будет отправлять ноль из-за этого.Вам нужно немного изменить свой код.Вы можете определить идентификаторы и даты, например:

var ids = {};
var dates = {};

Помните, что теперь ваша функция и «идентификаторы, даты» не находятся в одной области видимости.так что вы не можете что-либо выдать им из функции createUpdatesArrayВы должны определить эти пункты между <script> и document.ready функцией.

Ваш последний код будет выглядеть так:

var ids = {}; // ids is global now.
var dates = {}; // dates is global now.

$(document).ready(function () {
                $("#btnSubmit").bind("click", function () {
                    //var ids[] = null;
                    //var dates[] = null;
                    createUpdateArrays();
                    var url = "/hello/index/";
                    $.ajax({
                        type: "Post",
                        url: url,
                        data: { ids: ids, dates: dates },
                        async: false,
                        contentType: "application/json;charset=utf-8",
                        success: function (success) {
                            if (success === true) {
                                alert("HERE WE ARE");
                            }
                            else {
                                alert("eror");
                            }
                        },
                        error: function (e) {
                            alert("eror");
                        }
                    });
                });
            });

    function createUpdateArrays() {  // Expected ; <---- here
                    $('.remedy-id').each(function(i) {
                        var rid = $(this).id;
                        $('.planned-date').each(function(x) {
                            if (i===x) {
                                var date = $(this).text;
                                ids.push(rid);
                                dates.push(date);
                            }

                        });
                    });
                }; // <--- this is where the createUpdateArrays function ends. 
0 голосов
/ 05 октября 2018

Вам необходимо объявить creatUpdateArrays как функцию.

$(document).ready(function () {
            $("#btnSubmit").bind("click", function () {
                var ids[] = null;
                var dates[] = null;
                createUpdateArrays();
                var url = "/hello/index/";
                $.ajax({
                    type: "Post",
                    url: url,
                    data: { ids: ids, dates: dates },
                    async: false,
                    contentType: "application/json;charset=utf-8",
                    success: function (success) {
                        if (success === true) {
                            alert("HERE WE ARE");
                        }
                        else {
                            alert("eror")
                        }
                    },
                    error: function (e) {
                        alert("eror")
                    }
                });
            });
            function createUpdateArrays() {  // Expected ; <---- here
                $('.remedy-id').each(function (i) {
                    var rid = $(this).id;
                    $('.planned-date').each(function (x) {
                        if (i === x) {
                            var date = $(this).text;
                            ids.push(rid);
                            dates.push(date);
                        }

                    });
                });
            };  
        });

Или даже объявить функцию вне вашего документа ready и просто ссылаться на функцию в ready.

0 голосов
/ 05 октября 2018
 $(document).ready(function () {
            $("#btnSubmit").bind("click", function () {
                var ids[] = null;
                var dates[] = null;
                createUpdateArrays();
                var url = "/hello/index/";
                $.ajax({
                    type: "Post",
                    url: url,
                    data: { ids: ids, dates: dates },
                    async: false,
                    contentType: "application/json;charset=utf-8",
                    success: function (success) {
                        if (success === true) {
                            alert("HERE WE ARE");
                        }
                        else {
                            alert("eror")
                        }
                    },
                    error: function (e) {
                        alert("eror")
                    }
                });
            });
        });

function createUpdateArrays() {  // Expected ; <---- here
                $('.remedy-id').each(function(i) {
                    var rid = $(this).id;
                    $('.planned-date').each(function(x) {
                        if (i===x) {
                            var date = $(this).text;
                            ids.push(rid);
                            dates.push(date);
                        }

                    });
                });
            }; // <--- this is where the createUpdateArrays function ends. 

Попробуйте это.

Это потому, что вам не хватает ключевого слова "function", вы должны использовать его для определения функции.

0 голосов
/ 05 октября 2018

Вам нужно добавить function для createUpdateArrays() и определить его снаружи $(document).ready()

function createUpdateArrays() {  // Expected ; <---- here
                $('.remedy-id').each(function(i) {
                    var rid = $(this).id;
                    $('.planned-date').each(function(x) {
                        if (i===x) {
                            var date = $(this).text;
                            ids.push(rid);
                            dates.push(date);
                        }

                    });
                });
            }; // <--
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...