|
What does that script file contain? (You can either load it directly in the browser, or click on the link in the "View Source" tab, or use the browser's dev tools' network tab to view the response.)
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I don't see a file called "signalr/hubs". I assumed it was generated or hidden somehow.
When you say "View Sources", where are you referring to?
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
It won't be a file; it's a route, which will be handled by the SignalR middleware to dynamically generate the script for your hubs.
"View source" means right-click on the page and select "View page source".
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Hard to paste in here. The formatter doesn't show all of it
Here's the JS stuff
<script src="/Scripts/jquery-3.1.1.min.js"></script>
<script src="/Scripts/jquery.signalR-2.1.2.js"></script>
<script src="/signalr/hubs"></script>
<pre>
<script type="text/javascript">
$(function () {
console.dir($.connection);
console.log("HELLO WORLD");
$.connection.hub.url = 'http://192.168.51.74:8094/signalr';
var proxy = $.connection.dashboardHub;
proxy.client.NotifyAllClientsOfChanges = function () {
var searchUrl = "Home/GetData";
$.ajax({
url: searchUrl,
type: "POST",
success: function (data) {
$("#divData").html(data);
}
});
};
$.connection.hub.start({ transport: 'auto', xdomain: true })
.done(function () {
console.log('Connected.');
})
.fail(function (e) {
console.log('Unable to connect:' + e);
});
});</pre>
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Here's the Hubs JS
(function ($, window, undefined) {
"use strict";
if (typeof ($.signalR) !== "function") {
throw new Error("SignalR: SignalR is not loaded. Please ensure jquery.signalR-x.js is referenced before ~/signalr/js.");
}
var signalR = $.signalR;
function makeProxyCallback(hub, callback) {
return function () {
callback.apply(hub, $.makeArray(arguments));
};
}
function registerHubProxies(instance, shouldSubscribe) {
var key, hub, memberKey, memberValue, subscriptionMethod;
for (key in instance) {
if (instance.hasOwnProperty(key)) {
hub = instance[key];
if (!(hub.hubName)) {
continue;
}
if (shouldSubscribe) {
subscriptionMethod = hub.on;
} else {
subscriptionMethod = hub.off;
}
for (memberKey in hub.client) {
if (hub.client.hasOwnProperty(memberKey)) {
memberValue = hub.client[memberKey];
if (!$.isFunction(memberValue)) {
continue;
}
subscriptionMethod.call(hub, memberKey, makeProxyCallback(hub, memberValue));
}
}
}
}
}
$.hubConnection.prototype.createHubProxies = function () {
var proxies = {};
this.starting(function () {
registerHubProxies(proxies, true);
this._registerSubscribedHubs();
}).disconnected(function () {
registerHubProxies(proxies, false);
});
return proxies;
};
signalR.hub = $.hubConnection("/signalr", { useDefaultPath: false });
$.extend(signalR, signalR.hub.createHubProxies());
}(window.jQuery, window));
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Kevin Marois wrote: var proxies = {};
It looks like SignalR hasn't found your hub.
Check your startup code to make sure you haven't told it not to create the proxies:
hubConfiguration.EnableJavaScriptProxies = false;
If you've got a line that looks like that, remove it.
Also, make sure your hub class inherits from Microsoft.AspNet.SignalR.Hub[^], and is not nested inside another class.
If all else fails, it looks like you could create the proxy manually: ASP.NET SignalR Hubs API Guide - JavaScript Client | Microsoft Docs[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Richard Deeming wrote: hubConfiguration.EnableJavaScriptProxies = false;
This was there. Not sure what added it. I commented it out.
Richard Deeming wrote: make sure your hub class inherits from Microsoft.AspNet.SignalR.Hub
It does
Still geteting "Cannot read property 'client' of undefined"
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
So now you've commented out the EnableJavaScriptProxies line and re-built your application, what does the "signalr/hubs" route return?
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I get a bunch of JS that appears to be a proxy
I still get the error "Cannot read property 'client' of undefined"
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
That's just a null reference error. The only way to find it is by using some debug tools.
|
|
|
|
|
hy
i got error:
Template parse errors:
Unexpected character "EOF" ("ss.m2app-dark]="isDarkTheme">
<button md-fab><md-icon>check circle</md-icon></button>
</span>
[ERROR ->]"): AppComponent@403:0 ; Zone: <root> ; Task: Promise.then ; Value: SyntaxError Error: Template parse errors:
Unexpected character "EOF" ("ss.m2app-dark]="isDarkTheme">
<button md-fab><md-icon>check circle</md-icon></button>
</span>
[ERROR ->]"): AppComponent@403:0
at SyntaxError.ZoneAwareError
part of template which is in problem according error:
<button md-fab><md-icon>check circle</md-icon></button>
modified 8-Mar-17 7:13am.
|
|
|
|
|
You need to setup the icon type (font or svg), assign the appropriate attribute (md-font-icon="something" or md-svg-icon="something") and make sure that the icon-provider is bootstrapped.
There are docs and code samples at: Angular Material > Demos > Icons
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
your link is about angular 1.x
Is md-icon is related to first version too?
It`s strange because I found this example in the section of angular 2.x
|
|
|
|
|
Of course, the NG2 version of Angular Material is in Beta so absolutely shouldn't be used for anything resembling a production website.
To be perfectly honest, after attempting to leverage the Ng1 version of Angular Material on a couple of projects, it has some pretty fundamental flaws as well. Rolling back to bootstrap made me feel dirty, but was necessary.
Which sucks, because I do want to like the Material Design libraries.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
In _Layout.cshtml, in the Body section, I have
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
So far so good.
Then in my view, in the body, I have
<a href="https://www.codeproject.com/Members/using">@using</a></a> (@Html.BeginForm("Index", "Home"))
{
@{
var grid = new WebGrid(Model);
<a href="https://www.codeproject.com/Members/grid">@grid</a>.GetHtml(
mode: WebGridPagerModes.All,
columns:
grid.Columns
(
grid.Column(columnName: "SiteId", header: "Site Id", format: @@item.SiteId),
grid.Column(columnName: "Instrument", header: "Instrument", format: @@item.InstrumentId ),
))
}
}
<a href="https://www.codeproject.com/Members/Section">@section</a></a> scripts{
$(function () {
console.log("HELLO WORLD");
$.connection.hub.url = '<a href="http://192.168.51.74:8094/signalr">http://192.168.51.74:8094/signalr</a>';
var proxy = $.connection.DashboardHub;
proxy.client.NotifyAllClientsOfChanges = function () {
var searchUrl = "Home/GetData";
$.ajax({
url: searchUrl,
type: "POST",
success: function (data) {
$("#divData").html(data);
}
});
};
$.connection.hub.start({ transport: 'auto', xdomain: true })
.done(function () {
console.log('Connected.');
})
.fail(function (e) {
console.log('Unable to connect:' + e);
});
});
}
I'm not sure what's wrong.. In the Console I see my HELLO WORLD, then the very next item is the error
Cannot read property 'client' of undefined
This did not happen until I moved the scripts into @"section scripts". Before that I had other errors happening.
So this script section seems work because the HELLO WORLD is there, but the Client on the Proxy is not.
WTH am I doing wrong now?????????
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
I haven't worked with SignalR JS before, but
$.connection.hub.url = '<a href="http://192.168.51.74:8094/signalr">http://192.168.51.74:8094/signalr </a>';
does not look right. That's an HTML tag, not a URL.
Edit: Weird, it's doubling up the anchor with preformatted text..
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
It was a copy paste issue. It's not really that way
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
I'm trying to get my JS code to connect to a SignalR service. Here's my JS:
<script src="/Scripts/jquery-3.1.1.min.js"></script>
<script src="/Scripts/jquery.signalR-2.1.2.js"></script>
<script src="/signalr/hubs"></script>
<script type="text/javascript">
$(function () {
<pre>
$.connection.hub.url = "http://192.168.51.74:8094/signalr";
var proxy = $.connection.DashboardHub;
proxy.client.NotifyAllClientsOfChanges = function () {
var searchUrl = "Home/GetData";
$.ajax({
url: searchUrl,
type: "POST",
success: function (data) {
$("#divData").html(data);
}
});
};
$.connection.hub.start({ transport: 'auto', xdomain: true })
.done(function () {
console.log('Connected.');
})
.fail(function (e) {
console.log('Unable to connect:' + e);
});
});
I tried to set the IP at the top, but in the console I get
Cannot read property 'hub' of undefined
What am I doing wrong here???
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
I don't know signalR but "Cannot read property 'hub' of undefined" means that $.connection is null. You'll need to find out why that is. Perhaps it's the order of loading js files. Not sure.
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
RyanDev wrote: Perhaps it's the order of loading js files.
I think you may be right.
I found this. I moved the scripts into the script section and the error no longer occurs.
However, in the console I now have 3 occurances of "Failed to load resource: the server responded with a status of 404 (Not Found)" from Bootstrap.js
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Please do not expect people to go searching for details of your problem, post the details in your question.
|
|
|
|
|
A forum member already solved it for you. But it is quite rude to only post a link and expect us to go hunt down what the issue is.
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
I'm following this example
There's a code block about halfway down where there is
<script type="text/javascript">
$(function () {
var chat = $.connection.chatHub;
chat.client.broadcastMessage = function (name, message) {
var encodedName = $('<div />').text(name).html();
var encodedMsg = $('<div />').text(message).html();
$('#discussion').append('<li>' + encodedName
+ ': ' + encodedMsg + '</li>');
};
$('#displayname').val(prompt('Enter your name:', ''));
$('#message').focus();
$.connection.hub.start().done(function () {
$('#sendmessage').click(function () {
chat.server.send($('#displayname').val(), $('#message').val());
$('#message').val('').focus();
});
});
});
</script>
I tried adding
$.connection.url = "myurl"
right above the $.connection, but I then get "Cannot read property '' of undefined"
I take this to mean that the ".connection' object is not set.
What's wrong here? How does the URL to the server get set??
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
modified 2-Mar-17 18:33pm.
|
|
|
|
|
|
Using IE11. I only get this error on IE. The app works fine in Chrome.
Here's the JS
<script src="/Scripts/jquery-3.1.1.min.js"></script>
<script src="/Scripts/jquery.signalR-2.1.2.js"></script>
<script src="/signalr/hubs"></script>
<script type="text/javascript">
$(function () {
var proxy = $.connection.DashboardHub;
proxy.client.NotifyAllClientsOfChanges = function () {
var searchUrl = "Home/GetData";
$.ajax({
url: searchUrl,
type: "POST",
success: function (data) {
$("#divData").html(data);
}
});
};
});
When I run the file jquery-3.1.1.min.js opens, and this is highligted:
h=a.indexOf(" ")
and I get the error "Object doesn't support property or method 'indexOf'"
Google results say that IE doesn't support this. Anyone heard of this? Any way to make this work?
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|