Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

javascript Ajax SCRIPT1003: Expected ':' in IE 11

 var url="tabla.php";
 $.ajax({
    type: "POST",
    url:url,
    data:{place,names,repor},
    success: function(datos){       
      $('#tabla').html(datos);
    }

This code works in Chrome but in IE 11 returns the error SCRIPT1003: Expected ':' on line 5. I'd really appreciate any help.

Note: place and names are arrays that are previously defined, and repor is also a previously defined variable.

like image 824
Mario Zanetta Avatar asked Mar 05 '16 00:03

Mario Zanetta


2 Answers

Usually objects in JavaScript are initialized as key value pairs, so data should probably be initialized like

data:{ place : place, names : names, report : report }

See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer

In ECMAScript 2015 it seems you can omit the key part in certain situations, which is why it works on Chrome.

like image 134
ryan Avatar answered Oct 20 '22 11:10

ryan


I had the SCRIPT1003: Expected ':' error as well in IE 11 (and my code worked fine in Chrome & Firefox). If someone uses Knockoutjs and encounters this, watch out for the syntax when stating functions in your view model:

var viewModel = {
    property1: "",
    functionWorksInAllBrowsers: function (arg1, arg2) {
        // ...
    },
    functionThrowsErrorInInternetExplorer11(arg1, arg2) { 
        //...
    }
};
like image 27
Pieter Heemeryck Avatar answered Oct 20 '22 12:10

Pieter Heemeryck