I have been using the trial version of DevComplete. I've been building a web app using Kendo UI MVC. Up until this point I haven't had any issues. However, a couple days ago I purchased DevComplete. I installed the production Kendo.MVC dll in my project. Now my app is not working. When I attempt to load any page with a Kendo UI Grid, I am getting a JavaScript error that says kendo.synchReady is not a function.
The actual code that Kendo is generating, in part, looks like this:
kendo.syncReady(function(){jQuery("#grid").kendoGrid({"columns":[{"title":"Last Name","headerAttributes":{"data-field":"LastName","data-title":"Last Name"},"width":"150px","field":"LastName","encoded":true,"editor":"...
Can someone tell me what happened? The only change I've made was to install the production Kendo.Mvc.dll in place of the trial version.
10 Answers, 1 is accepted
The method that throws the error is from the latest version and the fact that this particular error is thrown indicates that the script files are not updated and you are referring the previous JS files. Can you please check if that is the case and if so, replace them with the scripts from the latest version.
Looking forward to your reply with the result.
Regards,
Konstantin Dikov
Telerik by Progress
I got the same error. I use kendo version 2017.1.223.545 and jquery version 3.1.1.
Please see error on captured screen attachment.
Thank you
I'm sorry. I forgot to tell that I still can't find the solution yet, so please help.
Thank you.
I'm getting this error too. It seems to be when I'm using the Kendo.Mvc.dll 2017.1.223.545
Hello,
I am using Kendo.Mvc version - 2017.1.233.545. My project was running fine with an older version of Kendo but now, i get an error,
kendo.syncReady is not a function.
This thread mentions several ways to fix. Kendo team, please provide your response on how this can be resolved.
I just created a brand new project to test. Still having the issue using all 2017.1.223 versions of the files. Website still comes up and states that kendo.syncReady is not a function.
Now when I forcefully include script src="@Url.Content("~/Scripts/kendo/2017.1.223/kendo.aspnetmvc.min.js")" into my scripts it works as expected.
Currently the suggestion for including the reference to the correct version of the kendo.aspnetmvc.min.js file should resolve the issue. Nevertheless, we will make some tests locally with the update wizard to see if we can replicate the problem on our end.
Regards,
Konstantin Dikov
Telerik by Progress
I also came across this error and temporarily overcame it by explicitly including
<script src="@Url.Content("~/Scripts/kendo/2017.1.223/kendo.aspnetmvc.min.js")"></script>
into my _Layout.cshtml.
However this is temporary and I expect an official solution from Telerik.
I am having the same problem with "Uncaught ReferenceError: kendo is not defined".
However, I am on 2017.2.621. I have verified all my files and I even used the CDN and I am still getting the same error.
Please advise.
<script src="https://kendo.cdn.telerik.com/2017.2.621/js/kendo.all.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2017.2.621/js/kendo.aspnetmvc.min.js"></script>
<select id="Users" multiple="multiple" name="Users"></select><script>kendo.syncReady(function(){jQuery("#Users").kendoMultiSelect({"placeholder":"Select users...","dataSource":[],"value":[]});});</script>
The missing kendo.syncReady method is introduced in our latest version and you need to ensure that all reference to the script files are pointing to the latest version (2017.1 223). Following are the references to the cdn scripts, but if you are using local copy you need to ensure that the scripts correspond to the latest version:
<
link
rel
=
"stylesheet"
href
=
"https://kendo.cdn.telerik.com/2017.1.223/styles/kendo.common.min.css"
/>
<
link
rel
=
"stylesheet"
href
=
"https://kendo.cdn.telerik.com/2017.1.223/styles/kendo.metro.min.css"
/>
<
link
rel
=
"stylesheet"
href
=
"https://kendo.cdn.telerik.com/2017.1.223/styles/kendo.metro.mobile.min.css"
/>
<
script
src
=
"https://kendo.cdn.telerik.com/2017.1.223/js/jquery.min.js"
></
script
>
<
script
src
=
"https://kendo.cdn.telerik.com/2017.1.223/js/kendo.all.min.js"
></
script
>
Best Regards,
Konstantin Dikov
Telerik by Progress
HI
I gettting this error too.I'm using the Kendo.Mvc.dll 2017.1.223.545 .Styles and js also for 2017.1.223
We are having this issue as well. After upgrade we tried it with both CDN and local script files.
A new project from the MVC template runs fine though.
Any update on this? I experiencing the same issue after updated to 2017.1.223
If you guys are using the custom download option, I was able to get rid of the error by selecting all options under the core framework list. Although I dont need all in this list, my instinct tells me something is off with the core files.
Framework
Shared components providing behaviors, data access and other services
hi..
i am upgrade my project with latest version v2017.2.621 and i am geeting the kendo.sync function error "kendo is not defined". so please suggest me what to do...all files pointed to latest verion also. jquery version 2.1.4 used.
Shantanu,
I think you may have to take your jQuery back to an older version? possibly 1.12.3
http://docs.telerik.com/kendo-ui/intro/installation/prerequisites
Good Luck!
hi Dan, after change the jquery version same problem. i use 5 kendo component and error generated every time when a component is building in backend.
Shantanu,
Have you tried moving the kendo scripts so that they are loaded in the head, or before the components are rendered on the page?
It previously used a document ready function for the components, by which point kendo would have been loaded even if it was defined later on the page, but now synchready needs to exist when the script for each component is loaded.
The error which is shown in the capture.jpg screenshot is stating that the Kendo UI is not defined, which can be caused by a couple of reasons.
Please check the following thread on a similar subject:
http://www.telerik.com/forums/%27kendo-is-not-defined%27-issue
Regards,
Stefan
Progress Telerik
I'm having the same problems with 2017.2.621?
Despite poiting to the kendo.aspnetmvc.min.js I still get the same errors?
Help!
Hi Stefan
I have just uipgraded to 2017.2.621 and using the kendo.aspnetmvc.min.js and I still get the same error ?
Regards, Mike
Hi Stefan
I have just uipgraded to 2017.2.621 and using the kendo.aspnetmvc.min.js and I still get the same error ?
Regards, Mike
Upgraded to 2017.2.621.545 and can't get through
Uncaught ReferenceError: kendo is not defined
Uncaught TypeError: kendo.syncReady is not a function
However when I only updated *.js files everything was fine. These errors started to show up after i updated Kendo.Mvc.dll. How much big a risk it is to update only *.js files?
Best regards,
Radoslav
It is always recommend to use the .dll and .js files from the same version. As for the issue that you are facing, please ensure that you have updated the script files correctly.
Another thing that you should have in mind is that if you use Deferred scripts you need to load the script files within the "head" section or remove the deferred initialization.
Best Regards,
Konstantin Dikov
Progress Telerik
Hi
How do you " remove the deferred
initialization. " ?
Hi Konstantin,
Is there a general guide how to upgrade KendoUI if Telerik VS extension is not working for me? The way I did it was:
1) Run telerik upgrade wizard via VS extension
This generates cultures, Kendo.Mvc.dll and such files. These files are linked and version updated in *.csproj file.
2) Then I updated *.js files.
Downloaded from account overview "telerik.kendoui.professional.2017.2.621.commercial.zip". From there I extracted js folder and replaced it in my project.
3) Clean, rebuild project, hard reset cache for loading new *.js files.
From what I've read, there are few things you need to be careful about:
a) Initialize jquery before KendoUI
b) Make sure ur jquery version matches the KendoUI version (http://docs.telerik.com/kendo-ui/intro/installation/prerequisites)
c) Make sure the scripts are called in <head> tags
Is there anything I have overlooked? Let me know.
Best regards,
Radoslav
For removing the Deferred initialization you need to remove the Deferred method from the end of the helpers (if it is configured), but if you load the scripts within the HEAD tag there should be no problems even with Deferred initialization:
@Radoslav,
The upgrade wizard might fail for the scripts if you are using bundling with a hard-coded version, in which case you need to manually change the version to the new one:
Regards,
Konstantin Dikov
Progress Telerik
This error again started when I upgraded from 2017 to 2018 Kendo upgrades.
Any inputs on what has changed which caused this error to come.
Yes Dan I am referencing correct DLLs.
I am using kendo.custom.min.js that is generated from Kendo custom wizard tool
Attach are the files for 2017 and 2018 libraries.
Yes Dan I am referencing correct DLLs.
I am using Kendo custom wizard tool that generates kendo.custom.min.js file, 2017 version works but 2018 version is giving this error.
[quote]Sajesh said:
This error again started when I upgraded from 2017 to 2018 Kendo upgrades.
Any inputs on what has changed which caused this error to come.[/quote]
I wrote an answer on Stack Overflow about this problem. It may provide the solution to you, so read there for more details.
This error again started when I upgraded from 2017 to 2018 Kendo upgrades.
Any inputs on what has changed which caused this error to come.
[/quote]
I wrote a post on Stack Overflow about this problem. Try the solutions there and see if they help.
https://stackoverflow.com/questions/44255209/kendo-syncready-is-not-a-function/45358412#45358412
Included the following code in the head tag (moved from the body) That fixed our issue:
<environment include="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>
<script type="text/javascript" asp-append-version="true" src="~/lib/kendo-ui/kendo.custom.min.js"></script>
</environment>
<environment exclude="Development">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/js/bootstrap.bundle.min.js"
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
crossorigin="anonymous"
integrity="sha256-E/V4cWE4qvAeO5MOhjtGtqDzPndRO1LBk8lJ/PR7CA4=">
</script>
</environment>
I'm also getting this error after updating to 2019.3.1023 (along with updating jquery to 3.4.1). I've verified everything mentioned in this thread: all my script references are in my head tag (including kendo.core, kendo.window, and kendo.aspnetmvc), my .js files are all the same version and they match the version of my .dlls (I pulled them all from the installation at C:\Program Files (x86)\Progress\Telerik UI for ASP.NET MVC R3 2019), and I've nuked my cache and confirmed that all the new files are being loaded by the browser.
Most pages on my site are working just fine actually, using .syncReady(...) without any problems. But one page is throwing this error and I can't for the life of me figure out why, when as far as I can tell it's loading pretty much the same kendo scripts (it's hard to tell as there are a lot of scripts being imported)
Is there a particular file I need to be loading to use that function? I'd assume kendo.core and/or kendo.window would be good enough, but maybe not?
The syncReady method is added in the kendo.aspnetmvc.js file, because the reason for including it was a major problem with jQuery 3.1 and how the templates are generated in MVC. With that in mind, ensuring that the kendo.aspnetmvc.js file is updated with the latest version should resolve the error with the missing function.
Best Regards,
Konstantin Dikov
Telerik by Progress
Hi Konstantin,
I downloaded the 2017.1.223 version and then manually copied into my project the CSS and JS files. I'm still getting that kendo.syncReady is not a function issue. I'm assuming that if I copied over the kendo.aspnetmvc.min.js from the "UI for ASP.NET MVC R1 2017" folder that it is the right one. Am I wrong?
-Scott
The correct folder should be R1 2017 SP1, because version 2017.1 223 is from the SP release:
Please let me know if copying the kendo.aspnetmvc.min.js file from the SP1 folder resolves the issue.
Regards,
Konstantin Dikov
Telerik by Progress
We are experiencing the same issue with kendo.syncReady.
We are using the following:
* Kendo.Mvc.dll version 2017.1.223.545.
* Kendo UI for JQuery Javascript files version 2017.1.223
* JQuery Version 2.2.4
* RequireJS Version 2.3.3
Our code that is failing. Note that "Start" is a global function that is a RequireJS wrapper for document.ready:
start(function () {
require(['kendo/kendo.window.min'], function () {
kendo.syncReady(function(){jQuery("#enrollmentWizardWindow").kendoWindow({"modal":true,"iframe":false,"draggable":true,"scrollable":true,"pinned":false,"title":null,"resizable":false,"actions":["Close"]});});;
});
});
Attached are screenshots proving this. As you can see in the "network tab of Chrome" screenshot, the kendo.aspnetmvc.js file is loading before the JavaScript on the HTML page executes.
Please give us an ETA of when this critical bug is fixed so we can adjust our current release timeline.
For some reason, the forum removed my JPEG attachments. Here they are.
Here is a very small project showing the issue on Google Drive. (The Project is 5 MB when compressed in a zip file, which is higher than the maximum size allowed on this forum.)
https://drive.google.com/file/d/0B1qIxJXJNEhAOEZSakNuY2ZZT0U/view?usp=sharing
We discovered this when a new starter downloaded the latest UI for ASP.NET MVC which was R1 2017.
Our existing application was using the files from R3 2016 and we began getting the error saying "kendo.syncReady is not a function".
To fix this this we just installed the previous version (R3 2016 from the Telerik website) alongside R1 2017 and swapped over the Kendo.Mvc dll.
I came across this error. I found the issue. I am using local resources, I have copied all the required scripts and css files to the corresponding location.
I was hoping that by doing this will fix the problem after rebuilding the solution/project. I have overlooked the browser cache issue everyone experiences with js files. After struggling for a while, I did hard refresh on the browser ctrl+F5 which loaded latest js files and its fixed.
Hope this helps
Thank you all for sharing different solutions with the Kendo UI community.
As this is a new function introduced in the 2017 version of Kendo UI, every information and solutions are highly appreciated.
Regards,
Stefan
Telerik by Progress
Hi Stefan,
I used to get the latest builds, copy js and dll into my project, test and run. With 2017.1 and the "syncReady" error I no longer to this.
I'd really like an official article explaining the trouble and an official solution, so I could upgrade to 2017.
/Morten
Currently, there is not an official article as the issue occurs if the Kendo UI scripts and the DLL file are not updated correctly or as mentioned cached:
http://docs.telerik.com/aspnet-mvc/introduction#upgrade
If we notice that there are more specific steps different than the regular version update, we will document them accordingly.
Regards,
Stefan
Telerik by Progress
Hi Stefan,
thanks for you reply. However, I'm not sure I understand.
Previously in this thread you mention, that "...this is a new function introduced in 2017..." and several posters incl. Kendo staff refer to including kendo.aspnetmvc.min.js to fix the problem.
In your last post, you say that the error is caused by an incorrect version upgrade, and not by a newly introduced function.
I would be really happy if you could clarify.
Thanks in advance.
/Morten
The mentioned error is not considered a bug as it is due to not fully updating the necessary files such as scripts and DLL.
http://docs.telerik.com/aspnet-mvc/introduction#upgrade
If the issue still occurs after ensuring that the relevant files are updated to the correct version and the versions are matching, please send us a runnable example and we will investigate it.
Regards,
Stefan
Telerik by Progress
Really strange. I have never referenced kendo.aspnetmvc.min.js in any of my projects using kendo ui for asp.net mvc.
After adding kendo.aspnetmvc.min.js alongside kendo.all.min.js I'm not getting the error and everything appears to work.
Make sure you have the latest DLL for Kendo.MVC (located somewhere in C:\Program Files (x86)\Telerik\UI for ASP.NET MVC R1 2017\)
Also, double check if the Javascript files copied over correctly. For some reason, Visual Studio only copied over part of the aspnetmvc.min.js file and not the whole thing (it is one of the largest JS files for kendo.)
Bob thanks for your help this far!
kendo.aspnetmvc.min.js is only 15-16 KB. Most of the non-dataviz, non-drawing individual JS files are about 10 KB. (I'm now wondering how it copied over core and data JS files correctly, since those are 50+ KB.) The release is 2017.1.223: the last portion of that version number tells you that the files were build in 2/23.
There are instructions here on how to do this update: http://docs.telerik.com/aspnet-mvc/introduction#upgrade. I haven't had the wizard successfully upgrade it for me, but we don't have the kendo JS files in the "standard" location.
Note that you can load the 2 JavaScript files after the page content if you use the ".Deferred()" option with your Razor controls and wrap the "@Html.Kendo().DeferredScripts()" in a document.ready / document.promise().done() call. See http://docs.telerik.com/aspnet-mvc/getting-started/fundamentals#configuration-Deferring
Hi Bob, I couldn't see any function name kendo.syncReady under the file kendo.aspnetmvc.min.js with the latest version UI for ASP.NET Core R2 2023 (version 2023.2.606).
even we added all the references based on kendo's guidance. can you help us? every thing added in _Layout.cshtml
<html>
<head>
<link href=@Url.Content("~/lib/bootstrap/dist/css/bootstrap.min.css") rel="stylesheet" />
<link rel="stylesheet" href="@Url.Content("~/lib/kendo/css/web/bootstrap-main.css")" />
<script src=@Url.Content("~/lib/jquery/dist/jquery.min.js")></script>
<script src=@Url.Content("~/lib/bootstrap/dist/js/bootstrap.bundle.min.js")></script>
<script src=@Url.Content("~/lib/kendo/js/kendo.all.min.js")></script>
<script src=@Url.Content("~/lib/kendo/js/kendo.aspnetmvc.min.js")></script>
<head>
<html>
Hi Ganesh,
Would you please remove the local files and include the CDN references to check if there are any client-side errors? Most probably the local files are browser cached.
<head>
<link href=@Url.Content("~/lib/bootstrap/dist/css/bootstrap.min.css") rel="stylesheet" />
<link href="https://kendo.cdn.telerik.com/themes/6.4.0/bootstrap/bootstrap-main.css" rel="stylesheet" />
<script src="https://kendo.cdn.telerik.com/2023.2.606/js/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2023.2.606/js/kendo.all.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2023.2.606/js/kendo.aspnetmvc.min.js"></script>
<script src=@Url.Content("~/lib/bootstrap/dist/js/bootstrap.bundle.min.js")></script>
<head>
We encountered this issue when upgrading to 2017.1.223.
Although we had the latest version of kendo.aspnetmvc.js, the issue was that we previously would load the kendo JS files after the page content - this is now an issue as the page content (or the bit rendered by the kendo MVC helpers ) needs kendo.synchReady to exist immediately.
Moving the calls to load the kendo.all.js and kendo.aspnetmvc.js files to be before the page content in the _layout.cshtml file (into the document head) fixed the issue for us.
This is currently introduced due to a jQuery 3 specifics with a combination of MVC project.
Also, the Kendo UI minified version is only around 1 MB, and the loading should not be affected significantly.
I do understand that this will cause an issue with connections with a speed of the 3G connection, but currently, this is one of the requirements.
Regards,
Stefan
Progress Telerik