Ibm mobilefirst Worklight http适配器问题
2个简单的问题:Ibm mobilefirst Worklight http适配器问题,ibm-mobilefirst,worklight-adapters,Ibm Mobilefirst,Worklight Adapters,2个简单的问题: 所有通过http适配器发出的http请求是否首先通过worklight服务器 如果是这样的话,这是否意味着即使是对公共网站的http适配器请求,比如对雅虎网站的股票价格请求也会首先通过worklight server,然后通过雅虎网站旁边的服务器?如果是,那么如何在不通过worklight服务器的情况下发出http请求?我只想直接进入yahoo网站而不使用“中间”服务器(即Workigth服务器) 我认为您遗漏了关于WL中适配器体系结构的一个要点。适配器位于服务器中,因此根据定
我认为您遗漏了关于WL中适配器体系结构的一个要点。适配器位于服务器中,因此根据定义,您使用它发出的任何请求都将“通过”服务器。但是,信息不会通过WAS(或Tomcat)服务器传递 您不想使用适配器有什么原因吗?我建议使用它,因为无论是从RESTful http调用还是数据库查询,它都可以更轻松地提取数据
如果您确实想绕过适配器,则跨域授权存在问题。我在这方面没有太多经验,但是您可以使用jQuery.ajax()之类的工具来解决这个问题。如果您在客户端使用适配器API,那么您的请求将通过Worklight服务器进行处理。您仍然可以从客户端发出AJAX请求并跳过服务器。基本上,您将以与Cordova相同的方式发出服务器请求,这意味着使用白名单允许您的请求访问第三方服务器 1) 所有通过http适配器发出的http请求是否都通过 worklight服务器优先 对。Worklight适配器通过使用在Worklight服务器上执行JavaScript来工作。您可以在中阅读有关适配器的更多信息。查看以了解适配器特定的详细信息。下面还有一些代码示例,您可以尝试。API文档在中。还有一个关于适配器的讨论,您可能会发现它很有用 2) 如果是这样的话,那么这是否意味着对公共web的http适配器请求 该网站表示,向雅虎网站索要股票价格的请求也将通过 worklight server先是,然后是yahoo网站旁边 对 我只想直接进入雅虎网站,而不需要 “中间”服务器(即Workigth服务器) IBM Worklight附带jQuery,您可以使用。下面是一个例子:
WLJQ.ajax( "http://finance.yahoo.com/d/quotes.csv?s=DOW+MSFT+AAPL+GOOG&f=snl1" )
.done(function (data) {
console.log(data);
});
请注意,WLJQ是Worklight提供的jQuery版本的名称空间。您可以通过执行以下操作来使用jQuery
或$
:var$=WLJQ代码>或var jQuery=WLJQ代码>
你应该得到像这样的东西:
"DOW","Dow Chemical Comp",30.89
"MSFT","Microsoft Corpora",27.37
"AAPL","Apple Inc.",448.97
"GOOG","Google Inc.",790.13
当然,您可以使用简单的jquery ajax调用直接访问它,而无需调用任何适配器函数
$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});
或
是否所有通过http适配器发出的http请求都通过worklight
服务器优先
绝对不是,这完全取决于你。如果您使用的是HTTP适配器,那么HTTP请求将从Worklight服务器启动,并返回响应
如果是这样的话,那么这是否意味着对公共web的http适配器请求
该网站表示,向雅虎网站索要股票价格的请求也将通过
worklight server先是,然后是yahoo网站旁边?如果是的话,怎么办
我是否在不通过worklight服务器的情况下发出http请求?我
只想直接进入雅虎网站而不需要“中间人”
服务器(即Workigth服务器)
如果您使用的是HTTP适配器,那么它将按照第一个答案通过Worklight Server
如果您不需要中间服务器,那么您可以使用传统的方式来执行HTTP请求,否则您可以通过Javascript/Ajax层或本机(Android/iOS/Windows..)执行HTTP请求
当谈到Worklight用于确保从注册设备启动请求的安全性时,适配器非常有用-身份验证通过交换设备令牌等方式完成。请回答一个问题,worklight server是WAS中的web应用程序,因此它怎么能不通过WAS?worklight server是在WAS或Tomcat中运行的JEE应用程序,因此使用适配器API的请求确实通过WAS/Tomcat进行。我不知道Ralph的观点,它似乎是错误的,因此-1.如果您不使用Worklight应用程序,这非常好;在Worklight环境中,您必须了解不通过Worklight Server的后果,@candreu已经在下面回答了这个问题。这个答案没有太大价值。如果使用worklight,适配器服务将处理xml到json的转换、负载平衡、每秒并发节点连接和超时情况。如果需要在这些情况下进行任何更改,适配器将帮助您,而无需更改应用程序中的任何内容。
$.get(url, function() {
alert( "success" );
})
.done(function() {
alert( "second success" );
})
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "finished" );
});