zoukankan      html  css  js  c++  java
  • jsop

     ajax.js

    $.ajax({
        type : "post",
        url : "ajax.php",
        dataType : "jsonp",
        jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
        jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
        success : function(json){
            alert('success');
        },
        error:function(){
            alert('fail');
        }
    });

    ajax.php

    <?php
     
    $data = ".......";
    $callback = $_GET['callback'];
    echo $callback.'('.json_encode($data).')';
    exit;
     
    ?>

     jquery-1.5.2.min.js

    自己上网下载

    当使用jsonp时,使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。


    实例2

    test.html

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>test</title>
    <script src="jquery-1.5.2.min.js"></script>
    <script src="ajax.js"></script>
    </head>
     
    <body>
    <form name="form">
    <input type="text" name="sex">
    <input type="text" name="age">
    <input type="button" id="btn" value="button" />
    </form>
    </body>
    </html>

     ajax.js    同步

    $(document).ready(function(){
     
        $("#btn").click(function(k) {
            //...
            var j = $("form").serializeArray();//序列化name/value
            $.ajax({
                type: 'GET',  //这里用GET
                url: 'ajax.php',
                dataType: 'jsonp',  //类型
                data: j,
                jsonp: 'callback', //jsonp回调参数,必需
                async: false,
                success: function(result) {//返回的json数据
                    alert(result.message); //回调输出
                     
                    result = result || {};
                    if (result.msg=='err'){
                        alert(result.info);
                    }else if (result.msg=="ok"){
                        alert('提交成功');
                    }else{
                        alert('提交失败');
                    }
                     
                },
                timeout: 3000
            })
            //...
        });
         
    });

     ajax.php

    <?php
    $callback = isset($_GET['callback']) ? trim($_GET['callback']) : ''; //jsonp回调参数,必需
    $date = array("age"=>$_GET['age'], "message"=>$_GET['age']);
    $date["msg"]="err";
    $date["info"]="因人品问题,发送失败";
    $tmp= json_encode($date); //json 数据
    echo $callback . '(' . $tmp .')';  //返回格式,必需
    ?>
  • 相关阅读:
    java之 Timer 类的使用以及深入理解
    关于百度Editor富文本编辑器 自定义上传位置
    BufferedInputStream/BufferedOutputStream
    ByteArrayInputStream/ByteArrayOutputStream 学习
    Android之ViewPager 第二课
    Android之ViewPager 第一课
    内存四区模型
    变量的本质
    数据类型的本质
    File、Blob、ArrayBuffer等文件类的对象有什么区别和联系
  • 原文地址:https://www.cnblogs.com/chenchenphp/p/6669997.html
Copyright © 2011-2022 走看看