簡體   English   中英

使用 AJAX 調用 worklight SQL 適配器過程

[英]Invoke worklight SQL adapter procedure using AJAX

有人可以舉例說明如何使用 AJAX 調用在工作燈中調用和接收來自 SQL 適配器的響應嗎? 我正在使用工作燈 6.0

我在應用程序級別有安全性。 我需要調用一個不需要身份驗證的過程(例如:注冊帳戶),因此需要使用 AJAX 調用適配器

這是我的適配器:

var invocationData = {
                    adapter : 'UserInfo',
                    procedure : 'addUserInfo',
                    parameters : [ customerData.firstName,
                            customerData.lastName, customerData.email,
                            customerData.province, customerData.zipPostal,
                            customerData.phoneNumber, customerData.streetName,
                            customerData.streetNumber, customerData.country,
                            customerData.city ]
                };
                WL.Client.invokeProcedure(invocationData, {
                    onSuccess : insertUserSuccess,
                    onFailure : insertUserFailure
                });

我的理解是您只想從某個客戶端使用 Ajax 調用 Adapter 過程。

它與另一個問題相同嗎?

從外部應用程序調用 Worklight 適配器

您可以在此處查看 HTTP API 的詳細信息

http://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.0.0/com.ibm.worklight.help.doc/admin/r_http_interface_of_the_prod_server.html?lang=en

更新:還要注意,如果您配置了任何安全測試,不同於“wl_unprotected”(您的適配器是 100% 公開的,小心!!)您可能需要額外的步驟來處理身份驗證。

如果你有一個默認的適配器,沒有任何安全測試集,你可能會在你的第一個請求中收到一個未經授權的 401,在 401 的正文中你可能會找到一個 WL-Instance-ID 屬性,你必須將它與一個新的請求獲得使用它的授權。

更新 2:Worklight/MobileFirst Platform 不啟用 CORS(因此您不能“自然地”使用來自外部網頁的 ajax 調用適配器)。 可以通過使用網關(可能是 IHS)來解決這個問題,該網關將標題“Access-Control-Allow-Origin”添加到所有適配器響應中。 請注意,您正在處理安全問題,因此請確保您知道自己在做什么。

Worklight(6.3 及更低版本)適配器只能與 Worklight Server 一起使用。 如果您計划使用 Worklight 適配器,則需要使用 Worklight 框架提供的 API - 問題中提到的代碼。

您仍然可以使用常規 AJAX 請求 - 但這些請求不會/不能是 Worklight 適配器發送到/由 Worklight 適配器發送的請求。

WLJQ.ajax( "some-URL" )
.done(function (data) {
    console.log(data);
});

如果目標確實需要通過 Worklight Server,並且它不受任何領域的保護,那么有什么問題? 發送請求。

也許您不應該在環境級別而是在過程級別保護應用程序(在適配器 XML 中的適配器過程上設置安全測試,而不是在 application-descriptor.xml 中的環境上)。

也許你需要更好地解釋你的具體情況......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM