分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

069_VisualForce Ajax 更多用法解读02

发布时间:2023-09-06 02:16责任编辑:苏小强关键词:Ajax

一、同步调用的异常处理:AJAX Toolkit  try catch...

<html><head><script src="/soap/ajax/44.0/connection.js" type="text/javascript"></script><script>function setupPage() {var output = document.getElementById("output");var startTime = new Date().getTime()try {var queryResult = sforce.connection.query("Select Id, Name, Industry FromAccount order by Industry limit 30");layoutResults(queryResult, output, startTime);} catch(error) {queryFailed(error, output);}}function queryFailed(error, out) {out.innerHTML = "<font color=red>An error has occurred:</font> <p>" + error;}function layoutResults(queryResult, out, startTime) {var timeTaken = new Date().getTime() - startTime;if (queryResult.size > 0) {var output = "";var records = queryResult.getArray(‘records‘);for (var i = 0; i < records.length; i++) {var account = records[i];output += account.Id + " " + account.Name + " [Industry - "+ account.Industry + "]<BR>";}out.innerHTML = output + "<BR> query complexted in: " + timeTaken + " ms.";} else {out.innerHTML = "No records matched.";}}</script></head><body onload="setupPage()">div id="output"></div></body></html>  

二、VFPage AJAX Toolkit 中的数据迭代形式

 ?var result = sforce.connection.query("select id, name from account limit 10"); var it = new sforce.QueryResultIterator(result); ?while (it.hasNext()) { ???var account = it.next(); ?sforce.debug.log(account.Name);}

三、AJAX Toolkit 中字符串单引号的使用方式

Bob‘s B-B-Q

Apex 中使用方式:SELECT ID from ACCOUNT WHERE Name LIKE ‘Bob\‘s B-B-Q%‘

Ajax:SELECT ID from ACCOUNT WHERE Name LIKE ‘Bob\\‘s B-B-Q%‘

四、使用Base64二进制编码字符串:例子待补充

引用放到static中js 要用:<apex:includeScript value="{!URLFOR($Resource.majac_static, ‘js/common.js‘)}"/>

<apex:page >
<html><head><script type="text/javascript"src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script><script src="/soap/ajax/44.0/connection.js"></script><script>function setup() {var document_ta = document.getElementById("document-ta");sforce.connection.query("select name, id from document limit 1",{onSuccess : querySuccess,onFailure : function(error, doc_ta) {doc_ta.value = "Oops something went wrong: " + error;},source: document_ta});}function querySuccess(result, doc_ta) {var records = result.getArray("records");if (records.length == 1) {dojo.io.bind({url: "/servlet/servlet.FileDownload?file=" + records[0].Id,load: loadDocument});} else {doc_ta.value = "no records found";}}function loadDocument(type, data, event) {var document_ta = document.getElementById("document-ta");document_ta.value = data;}</script></head><body onload="setup()"><textarea id="document-ta" cols="80" rows="20"></textarea></body></html>
</apex:page >

  五、异步调用的超时参数:如果一个异步调用在适当的时间内没有完成,我们可以结束这个调用。要做到这一点,请在任何异步调用的回调部分中指定超时参数。

var account = new sforce.SObject("Account");
account.Name = "my new account";sforce.connection.create([account], {onSuccess: print, onFailure: printerr, timeout: 100});

  六、Ajax 委托给Remote Site 

新建一个一条 remoete site:

sforce.connection.remoteFunction({ ???????url : "https://th-apex-http-callout.herokuapp.com", ??????????onSuccess : function(response) { ??????????alert("result" + response); ???????} ???});

  

069_VisualForce Ajax 更多用法解读02

原文地址:https://www.cnblogs.com/bandariFang/p/9705037.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved