从 AJAX 获取数据并将它们发送到 SignalR Hub
Get data from AJAX and send them to SignalR Hub
美好的一天
我有以下代码:
$('#ElementId').click(function () {
$.ajax({
type: "POST",
url: "URL",
data: {//DATA }
})
.done(function (result) {
FillList(result);
});
}
function FillList(result)
{
var chat = $.connection.chatHub;
chat.server.setResult(result);
}
我想从 AJAX 调用中获取数据并将它们传递给 SignalR,但我就是无法让它工作。 AJAX 正常工作,但当我尝试将数据发送到 SignaR Hub 时,没有任何反应。
如有任何帮助,请提前致谢
更新
尽管当我在没有 AJAX 的情况下自行调用函数时上面的方法不起作用然后它起作用了:
$('#ElementId').click(function () {
FillList("Test");
}
更新#2
这就是有问题的函数在 SIgnalR
中的样子
public void SetResult(string TestJSON)
{
try
{
if (!String.IsNullOrEmpty(TestJSON))
{
//TODO
}
}
catch (Exception ex)
{
throw ex
}
}
我看到两种可能的情况
result
是 JSON
而不是 string
,因此请确保将 string
传递给 SignalR
,否则它不会触发:
chat.server.setResult(JSON.stringify(result));
- 如果上述方法不起作用,则问题出在与您的
hub
的连接上。为确保没有数据类型不匹配,调用不带参数的服务器函数并查看它是否被命中:
chat.server.setResult();
和
public void SetResult()
在你的 UPDATE 之后,我确信你正在将 JSON
传递给你的集线器,但它期待 string
... 所以去# 1
美好的一天 我有以下代码:
$('#ElementId').click(function () {
$.ajax({
type: "POST",
url: "URL",
data: {//DATA }
})
.done(function (result) {
FillList(result);
});
}
function FillList(result)
{
var chat = $.connection.chatHub;
chat.server.setResult(result);
}
我想从 AJAX 调用中获取数据并将它们传递给 SignalR,但我就是无法让它工作。 AJAX 正常工作,但当我尝试将数据发送到 SignaR Hub 时,没有任何反应。 如有任何帮助,请提前致谢
更新
尽管当我在没有 AJAX 的情况下自行调用函数时上面的方法不起作用然后它起作用了:
$('#ElementId').click(function () {
FillList("Test");
}
更新#2 这就是有问题的函数在 SIgnalR
中的样子public void SetResult(string TestJSON)
{
try
{
if (!String.IsNullOrEmpty(TestJSON))
{
//TODO
}
}
catch (Exception ex)
{
throw ex
}
}
我看到两种可能的情况
result
是JSON
而不是string
,因此请确保将string
传递给SignalR
,否则它不会触发:
chat.server.setResult(JSON.stringify(result));
- 如果上述方法不起作用,则问题出在与您的
hub
的连接上。为确保没有数据类型不匹配,调用不带参数的服务器函数并查看它是否被命中:
chat.server.setResult();
和
public void SetResult()
在你的 UPDATE 之后,我确信你正在将 JSON
传递给你的集线器,但它期待 string
... 所以去# 1