jQuery底层ajax实现的调用Demo

前言

ajax 本质上是一个通过http请求加载远程数据的过程。$.ajax 这个 API 是 jQuery 的底层 ajax实现。大多情况下,一般无需直接使用该API发送ajax请求,而是使用其对应的更简单易用的高层实现,如 $.get, $.post 等。不过有时候需要操作一些不常用的选项参数,则需要使用其底层实现 $.ajax 了。

$.ajax 调用Demo

$.ajax({
    url: url,
    type: "POST",
    async: false, // 设置为false发送同步请求,true发送异步请求
    data: {
        // 发送到服务器的数据
        "key1": "value1",
        "key2": "value2"
    },
    success: function(result) {
        // console.info(result);
        // TODO 具体业务逻辑
    },
    error: function(xhr) {
       // console.info(xhr);
       var alertMsg = "请求失败!<br/>" + xhr.status + "(" + xhr.statusText + ")";
       alert(alertMsg); // 这里使用JavaScript的原生API对错误信息进行了简单提示,具体项目UI框架、UI风格等不一致,需根据具体情况改写
    }
}); // end of $.ajax
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MediaWiki 实现 AJAX 请求的步骤如下: 1. 在 `LocalSettings.php` 文件中添加以下代码开启 AJAX 支持: ```php $wgAjaxExportList = array( 'myFunction' ); $wgUseAjax = true; ``` `$wgAjaxExportList` 数组中包含了可以被调用的函数名,这些函数将由 JavaScript 发送 AJAX 请求来执行。 2. 编写 AJAX 函数: ```php function myFunction( $param ) { // 处理参数 $result = "Hello, " . $param; // 返回结果 return $result; } ``` 此函数接收一个参数 `$param`,处理后返回结果。 3. 编写 JavaScript 代码: ```javascript $.ajax({ type: 'POST', url: mw.util.wikiScript(), data: { action: 'ajax', rs: 'myFunction', rsargs: ['World'] }, dataType: 'json', success: function( response ) { console.log( response ); } }); ``` 该代码使用 jQuery 发送 AJAX 请求,调用了 MediaWiki 中的 `myFunction` 函数,并传入了参数 `'World'`。成功后,控制台将输出结果。 以下是一个简单的 AJAX 请求示例: ```php function myAjaxFunction( $param ) { $result = "Hello, " . $param; return $result; } $wgHooks['BeforePageDisplay'][] = function( $out ) { $out->addScript( <<<JS $(document).ready(function() { $('#ajax-button').click(function() { $.ajax({ type: 'POST', url: mw.util.wikiScript(), data: { action: 'ajax', rs: 'myAjaxFunction', rsargs: ['World'] }, dataType: 'json', success: function( response ) { alert( response ); } }); }); }); JS ); return true; }; $wgResourceModules['ext.myExtension'] = array( 'scripts' => array( 'js/myExtension.js', ), 'dependencies' => array( 'jquery', 'mediawiki.util', ), ); ``` 此代码定义了一个 `myAjaxFunction` 函数,并添加了一个按钮,点击后将触发 AJAX 请求并弹出结果。同时,它还注册了一个资源模块 `ext.myExtension`,在其中包含了 `myExtension.js` 文件。该文件中包含了上述 JavaScript 代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值