前端ajax异步请求,AJAX 异步请求

jQuery在全局对象`jQuery`(也就是`$`)绑定了`ajax()`函数,可以处理AJAX请求。`ajax(url, settings)`函数需要接收一个URL和一个可选的`settings`对象,常用的选项如下:

* async:是否异步执行AJAX请求,默认为`true`,千万不要指定为`false`;

* method:发送的Method,缺省为`'GET'`,可指定为`'POST'`、`'PUT'`等;

* contentType:发送POST请求的格式,默认值为`'application/x-www-form-urlencoded; charset=UTF-8'`,也可以指定为`text/plain`、`application/json`;

* data:发送的数据,可以是字符串、数组或object。如果是GET请求,data将被转换成query附加到URL上,如果是POST请求,根据contentType把data序列化成合适的格式;

* headers:发送的额外的HTTP头,必须是一个object;

* dataType:接收的数据格式,可以指定为`'html'`、`'xml'`、`'json'`、`'text'`等,缺省情况下根据响应的`Content-Type`猜测。

~~~

var jqxhr = $.ajax('/api/categories', {

dataType: 'json'

}).done(function (data) {

ajaxLog('成功, 收到的数据: ' + JSON.stringify(data));

}).fail(function (xhr, status) {

ajaxLog('失败: ' + xhr.status + ', 原因: ' + status);

}).always(function () {

ajaxLog('请求完成: 无论成功或失败都会调用');

});

~~~

> `get()`方法

~~~

var jqxhr = $.get('/path/to/resource', {

name: 'Bob Lee',

check: 1

});

~~~

第二个参数如果是object,jQuery自动把它变成query string然后加到URL后面,实际的URL是:

~~~

/path/to/resource?name=Bob%20Lee&check=1

~~~

>  post()方法

和`get()`类似,但是传入的第二个参数默认被序列化为`application/x-www-form-urlencoded`:

~~~

var jqxhr = $.post('/path/to/resource', {

name: 'Bob Lee',

check: 1

});

~~~

实际构造的数据`name=Bob%20Lee&check=1`作为POST的body被发送。

> `getJSON()`方法

快速通过GET获取一个JSON对象:

~~~

var jqxhr = $.getJSON('/path/to/resource', {

name: 'Bob Lee',

check: 1

}).done(function (data) {

// data已经被解析为JSON对象了

});

~~~

> 安全限制

jQuery的AJAX完全封装的是JavaScript的AJAX操作,所以它的安全限制和前面讲的用JavaScript写AJAX完全一样。

如果需要使用JSONP,可以在`ajax()`中设置`jsonp: 'callback'`,让jQuery实现JSONP跨域加载数据。

关于跨域的设置请参考[浏览器](https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014344997647015f03abc1bb5f46129a7526292a12ab26000)\-[AJAX](https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499861493e7c35be5e0864769a2c06afb4754acc6000)一节中CORS的设置。

### 关于ArcGIS License Server无法启动的解决方案 当遇到ArcGIS License Server无法启动的情况,可以从以下几个方面排查并解决问题: #### 1. **检查网络配置** 确保License Server所在的计算机能够被其他客户端正常访问。如果是在局域网环境中部署了ArcGIS Server Local,则需要确认该环境下的网络设置是否允许远程连接AO组件[^1]。 #### 2. **验证服务状态** 检查ArcGIS Server Object Manager (SOM) 的运行情况。通常情况下,在Host SOM机器上需将此服务更改为由本地系统账户登录,并重启相关服务来恢复其正常工作流程[^2]。 #### 3. **审查日志文件** 查看ArcGIS License Manager的日志记录,寻找任何可能指示错误原因的信息。这些日志可以帮助识别具体是什么阻止了许可服务器的成功初始化。 #### 4. **权限问题** 确认用于启动ArcGIS License Server的服务账号具有足够的权限执行所需操作。这包括但不限于读取/写入特定目录的权利以及与其他必要进程通信的能力。 #### 5. **软件版本兼容性** 保证所使用的ArcGIS产品及其依赖项之间存在良好的版本匹配度。不一致可能会导致意外行为完全失败激活license server的功能。 #### 示例代码片段:修改服务登录身份 以下是更改Windows服务登录凭据的一个简单PowerShell脚本例子: ```powershell $serviceName = "ArcGISServerObjectManager" $newUsername = ".\LocalSystemUser" # 替换为实际用户名 $newPassword = ConvertTo-SecureString "" -AsPlainText -Force Set-Service -Name $serviceName -StartupType Automatic New-ServiceCredential -ServiceName $serviceName -Account $newUsername -Password $newPassword Restart-Service -Name $serviceName ``` 上述脚本仅作为示范用途,请依据实际情况调整参数值后再实施。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值