一、同步调用的异常处理: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 From
Account 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);
}
});

  

最新文章

  1. Java多线程13:读写锁和两种同步方式的对比
  2. NRF51822之SPI
  3. 通过开源程序同时解决DNS劫持和DNS污染的问题
  4. 在VS 2015 RTM 版中 提示 未能正确加载 NuGetPackage包
  5. leetcode 121
  6. OpenCart框架运行流程介绍
  7. KMP算法学习(详解)
  8. 复习hiernate
  9. Java生成图片验证码
  10. LeetCode(99):恢复二叉搜索树
  11. 洛谷P4324 扭动的回文串 [JSOI2016] manacher+哈希
  12. js 图片区域可点击,适配移动端,图片大小随意改变
  13. [蓝桥杯]ALGO-95.算法训练_2的次幂表示
  14. MySQL Replication 详解MySQL数据库设置主从同步的方法
  15. linux下文件描述符的介绍
  16. 微服务是&quot;银弹&quot;吗?
  17. 洛谷P3201 [HNOI2009]梦幻布丁(链表 + 启发式合并)
  18. python学习之简介与环境安装
  19. 20155301 2016-2017-2 《Java程序设计》第2周学习总结
  20. python常用模块之sys模块

热门文章

  1. 腾讯出品小程序自动化测试框架【Minium】系列(二)项目配置及测试套件使用说明
  2. 读Java8函数式编程笔记05_数据并行化
  3. 从 Cloud-Native Relational DB 看数据库设计
  4. php7.3的安装以及在Apache中部署php
  5. Nginx02 Nginx的的目录结构、基本工作原理、基本配置文件介绍
  6. 关于我在学习LFU的时候,在开源项目捡了个漏这件事。
  7. Idea的jdbc中的查询与增删该
  8. 学习Java Day6
  9. 微信小程序项目中使用icon图标
  10. ArcGIS Pro SDK 003 如何调用Toolbox