提交 6f338f73 编写于 作者: W wizardforcel

2020-06-08 22:30:13

上级 4b23b0f2
......@@ -371,7 +371,7 @@ public class EmployeeRESTController
1. 参见`app.controller("UserManagementController", function($scope, $http)`行。 它创建 Angular 控制器组件,并传递`$http`服务和`$scope`变量的相关性。 `$http`用于进行 REST 调用,`$scope`用于与页面数据进行交互。
2. `$scope`具有两个数据元素。 `$scope.employees`引用页面中的所有员工集合,`$scope.form`映射到页面中的表单元素字段。
3. 加载页面后,将调用`_refreshPageData()`,该调用将调用 HTTP GET api,以 JSON 格式从服务器获取所有员工数据。 检索到数据后,将使用`$scope.employees = response.data.employees`将其映射到`$scope.employees`。 该调用将自动刷新 UI,并使用员工数据填充表格。
4. 使用`ng-click="removeEmployee( employee )"`将页面中的删除链接绑定到`removeEmployee()`功能。 该调用具有附加参数`employee`,该参数用于标识需要从表中删除哪个雇员(`employee.id`用于获取雇员 ID)。
4. 使用`ng-click="removeEmployee( employee )"`将页面中的删除链接绑定到`removeEmployee()`函数。 该调用具有附加参数`employee`,该参数用于标识需要从表中删除哪个雇员(`employee.id`用于获取雇员 ID)。
5. 类似地,编辑链接与`ng-click="editEmployee( employee )"`绑定。 在`editEmployee()`函数内部,我们通过下面的映射简单地使用现有员工数据填充表单文本字段。
```java
......@@ -394,7 +394,7 @@ public class EmployeeRESTController
};
```
6. 对于 PUT 和 POST 方法,由于代码相似,我们使用了相同的功能来避免代码重复。 我们仅根据用户操作更改`method``url`参数。
6. 对于 PUT 和 POST 方法,由于代码相似,我们使用了相同的函数来避免代码重复。 我们仅根据用户操作更改`method``url`参数。
7. 为了显示从服务器获取的用户集合,我们使用了`ng-repeat="employee in employees"`循环。
其余的事情几乎可以自我解释。 如果您有任何疑问或疑问,请在下面给我留言。
......
......@@ -29,7 +29,7 @@ Other Ajax Powered Functions in jQuery
## `$.ajax()`方法
jQuery Ajax 的**根是`ajax()`函数**。 此功能用于执行默认情况下异步的 HTTP 请求。 使用此功能的语法是:
jQuery Ajax 的**根是`ajax()`函数**。 此函数用于执行默认情况下异步的 HTTP 请求。 使用此函数的语法是:
```java
$.ajax({name:value, name:value, ... })
......@@ -40,15 +40,15 @@ $.ajax({name:value, name:value, ... })
| 名称 | 值/说明 |
| --- | --- |
| `async` | 一个布尔值,指示是否应异步处理请求。 默认为`true`。 请注意,从 jQuery 1.8 开始,`async: false`的使用已被弃用。 您必须使用`success` / `error` / `complete`回调选项,而不要使用`jqXHR`对象的相应方法,例如`jqXHR.done()`或已弃用的`jqXHR.success()`。 |
| `beforeSend(*xhr*)` | 发送请求之前运行的功能 |
| `beforeSend(xhr)` | 发送请求之前运行的函数 |
| `cache` | 一个布尔值,指示浏览器是否应缓存请求的页面。 默认为`true` |
| `complete(*xhr,status*)` | 请求完成后要运行的功能(成功和错误功能之后) |
| `complete(xhr,status)` | 请求完成后要运行的函数(成功和错误函数之后) |
| `contentType` | 将数据发送到服务器时使用的内容类型。 默认值为:“`application/x-www-form-urlencoded`” |
| `context` | 为所有与 AJAX 相关的回调函数指定“`this`”值 |
| `data` | 指定要发送到服务器的数据 |
| `dataFilter(*data*,*type*)` | 用于处理`XMLHttpRequest`的原始响应数据的函数 |
| `dataFilter(data,type)` | 用于处理`XMLHttpRequest`的原始响应数据的函数 |
| `dataType` | 服务器响应期望的数据类型。 |
| `error(*xhr,status,error*)` | 如果请求失败,则运行的功能。 |
| `error(xhr,status,error)` | 如果请求失败,则运行的函数。 |
| `global` | 一个布尔值,指定是否触发请求的全局 AJAX 事件句柄。 默认为`true` |
| `ifModified` | 一个布尔值,指定是否仅在自上一个请求以来响应已更改的情况下,请求才成功。 默认值为:`false`。 |
| `jsonp` | 覆盖 jsonp 请求中的回调函数的字符串 |
......@@ -56,7 +56,7 @@ $.ajax({name:value, name:value, ... })
| `password` | 指定在 HTTP 访问认证请求中使用的密码。 |
| `processData` | 一个布尔值,指定是否应将与请求一起发送的数据转换为查询字符串。 默认为`true` |
| `scriptCharset` | 指定请求的字符集 |
| `success(*result,status,xhr*)` | 请求成功时要运行的功能 |
| `success(result,status,xhr)` | 请求成功时要运行的函数 |
| `timeout` | 请求的本地超时(以毫秒为单位) |
| `traditional` | 一个布尔值,指定是否使用传统的参数序列化样式 |
| `type` | 指定请求的类型。 (获取或发布) |
......@@ -274,7 +274,7 @@ $( document ).ajaxComplete(function( event, xhr, settings ) {
## 使用`$.ajaxSetup()`全局化参数
您是否认为将一组通用参数传递给所有 ajax 请求很无聊,您可以使用`$.ajaxSetup()`函数对其进行一次注册,然后在所有 ajax 调用中重复使用它们。 `$.ajaxSetup()`功能可用于设置所有 AJAX 调用使用的选项,包括通过`$.ajax()``$.load()``$.get()`等执行的选项。
您是否认为将一组通用参数传递给所有 ajax 请求很无聊,您可以使用`$.ajaxSetup()`函数对其进行一次注册,然后在所有 ajax 调用中重复使用它们。 `$.ajaxSetup()`函数可用于设置所有 AJAX 调用使用的选项,包括通过`$.ajax()``$.load()``$.get()`等执行的选项。
您可以在`$.ajaxSetup()`中设置所有选项,这些选项可以设置为`$.ajax()`调用。 例如:
......@@ -297,7 +297,7 @@ $.ajax({
如果您曾经在服务器端进行 Web 开发,那么您会认识到过滤器是实现某些目标(如输入值清洁等)的好方法。现在 jQuery 也使用`ajaxPrefilter`事件在客户端提供了此功能。 使用此功能,您可以在所有 AJAX 调用发送到服务器之前对其进行过滤。
发送请求之前,可以在`$.ajaxPrefilter()`中更改传递给`$.ajax()`功能的所有 Ajax 选项/参数(“过滤”)。 例如,如果您希望发送到以“`/add`”结尾的 URL 的所有 HTTP 请求都必须是 HTTP POST 调用,则可以在此处应用逻辑。
发送请求之前,可以在`$.ajaxPrefilter()`中更改传递给`$.ajax()`函数的所有 Ajax 选项/参数(“过滤”)。 例如,如果您希望发送到以“`/add`”结尾的 URL 的所有 HTTP 请求都必须是 HTTP POST 调用,则可以在此处应用逻辑。
```java
$.ajaxPrefilter(function(options, originalOptions, jqXHR){
......@@ -316,11 +316,11 @@ $.ajaxPrefilter(function(options, originalOptions, jqXHR){
## jQuery 中其他由 Ajax 支持的函数
让我们在内部使用 ajax 浏览 jQuery 库提供的其他有用功能,这些功能可以直接使用。
让我们在内部使用 ajax 浏览 jQuery 库提供的其他实用函数,这些函数可以直接使用。
#### `$.get()`和`$.post()`函数
jQuery 具有这些功能,可用于发送简化的 HTTP GET 和 HTTP POST 请求。 这是显示如何使用 jQuery 的`$.get()`函数的示例:
jQuery 具有这些函数,可用于发送简化的 HTTP GET 和 HTTP POST 请求。 这是显示如何使用 jQuery 的`$.get()`函数的示例:
```java
var parameters = { p1 : "val1", p2 : "val2"};
......
......@@ -8,7 +8,7 @@
注意,**“`ENTER`”键由 ASCII 代码“13”** 表示。 检查此 [ASCII 图表](http://www.asciitable.com/)
要检查用户是否在网页或任何输入元素上按下`ENTER`键,可以将`keypress``keydown`事件绑定到该元素或文档对象本身。 然后在`bind()`功能中检查所按下键的键码是否为 13。
要检查用户是否在网页或任何输入元素上按下`ENTER`键,可以将`keypress``keydown`事件绑定到该元素或文档对象本身。 然后在`bind()`函数中检查所按下键的键码是否为 13。
如果按键的 ASCII 码为 13,则按“`ENTER`”键; 否则,将按下其他键。
......
......@@ -36,7 +36,7 @@ Demo application
`currentIndex` – 当前播放的曲目
模型还包含帮助用户在用户交互后保持其当前状态更改的功能
模型还包含帮助用户在用户交互后保持其当前状态更改的函数
```java
var Model = {
......@@ -82,7 +82,7 @@ var View = {
**控制器**:视图调用控制器以更改模型
控制器具有在用户交互期间将被调用的功能
控制器具有在用户交互期间将被调用的函数
```java
var Controller = {
......
......@@ -215,7 +215,7 @@ Jasmine 输出
## 3\. 安装和拆卸
为了进行安装和拆卸,Jasmine 在套件级别提供了两个全局功能,即`beforeEach()``afterEach()`
为了进行安装和拆卸,Jasmine 在套件级别提供了两个全局函数,即`beforeEach()``afterEach()`
#### 3.1 `beforeEach()`
......@@ -225,11 +225,11 @@ Jasmine 输出
每个规范后都会调用一次`afterEach`函数。
实际上,规范变量(任何变量)在顶级范围`describe`块中定义,并且初始化代码被移到`beforeEach`函数中。 `afterEach`功能在继续之前重置变量。 这有助于开发人员不要为每个规范重复设置和完成代码。
实际上,规范变量(任何变量)在顶级范围`describe`块中定义,并且初始化代码被移到`beforeEach`函数中。 `afterEach`函数在继续之前重置变量。 这有助于开发人员不要为每个规范重复设置和完成代码。
## 4\. Jasmine 描述块
在 Jasmine 中,`describe`功能用于对相关规范进行分组。 字符串参数用于命名规范集合,并将其与规范连接在一起以形成规范的全名。 这有助于在大型套件中查找规范。
在 Jasmine 中,`describe`函数用于对相关规范进行分组。 字符串参数用于命名规范集合,并将其与规范连接在一起以形成规范的全名。 这有助于在大型套件中查找规范。
好消息是,您也可以嵌套`describe`块。 在嵌套`describe`的情况下,Jasmine 在执行规范之前先按顺序执行每个`beforeEach`函数,然后执行规范,最后逐步执行每个`afterEach`函数。
......@@ -371,7 +371,7 @@ describe("MathUtils", function() {
上面的示例本质上是最基本的,您也可以使用间谍来验证对内部方法的调用。 例如。 如果在任何对象上调用方法`calculateInterest()`,则可能需要检查是否必须在该对象内调用`getPrincipal()``getROI()``getTime()`。 间谍将帮助您验证这些假设。
当没有要监视的功能时,`jasmine.createSpy`可以创建裸露的间谍。 该间谍的行为与其他任何间谍一样 - 跟踪调用,参数等。但是它背后没有实现。 间谍是 JavaScript 对象,可以这样使用。 通常,这些间谍在需要时用作其他函数的回调函数。
当没有要监视的函数时,`jasmine.createSpy`可以创建裸露的间谍。 该间谍的行为与其他任何间谍一样 - 跟踪调用,参数等。但是它背后没有实现。 间谍是 JavaScript 对象,可以这样使用。 通常,这些间谍在需要时用作其他函数的回调函数。
```java
var callback = jasmine.createSpy('callback');
......
......@@ -18,9 +18,9 @@ JSON.stringify( value [, replacer] [, space] )
这里`value`是要进行字符串化的对象,`replacer`是可以转换结果的函数。 在遍历完整对象时,将为 JSON 对象的每个属性调用此`replacer`函数。 在`replacer`函数中,您可以在键值对中获得属性(即,属性名称和属性值)。
使用此替换器功能可屏蔽敏感信息。
使用此替换器函数可屏蔽敏感信息。
例如,在下面的示例中,我屏蔽了`accountNumber`字段。 您可以根据项目需要自定义功能`maskInfo`
例如,在下面的示例中,我屏蔽了`accountNumber`字段。 您可以根据项目需要自定义函数`maskInfo`
```java
var unmaskedData = { "name":"Lokesh", "accountNumber":"3044444444", "city":"New York"};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册