【问题标题】:how to use ajax request in jsFiddle如何在 jsFiddle 中使用 ajax 请求
【发布时间】:2011-11-14 12:19:50
【问题描述】:

我正在尝试创建我的第一个小提琴。所以这就是我想用 jquery 做的事情

$('.list').live('click', function(){
    var dataPass = 'uid='+ uid;
    $.ajax({
        type: "POST",
        url: "test.php",
        data: dataPass,
        cache: false,
        success: function(html){
            //Do something
        }
    });
});

那么我如何/在哪里编写test.php 文件的代码?它会返回一些 html 标记。

【问题讨论】:

    标签: jquery cross-domain xss jsfiddle


    【解决方案1】:

    不可能向当前域以外的域发出 AJAX 请求,因为这是一个非常基本的安全风险。

    jsFiddle 有一个 API 用于测试您应该使用的 AJAX 请求。

    【讨论】:

    【解决方案2】:

    这是您可能正在寻找的工作fiddle

    我使用了http://echo.jsontest.com,但您可以替换为您的有效网址。

    var echo = function(dataPass) {
        $.ajax({
            type: "POST",
            url: "/echo/json/",
            data: dataPass,
            cache: false,
            success: function(json){
                alert("UID=" + json.uid + "\nName=" + json.value);
            }
        });
    };
    
    $('.list').live('click', function(){
        $.get("http://echo.jsontest.com/uid/12345/value/nuno_bettencourt", function(data) {
            var json = {
                json: JSON.stringify(data),
                delay: 1
            };
            echo(json);;
        });​ 
    });
    

    【讨论】:

    • 这是如何工作的?同源策略不应该禁止 $.get() 调用吗? /困惑
    • 远程服务器添加这个HTTP头告诉浏览器它允许跨域请求Access-Control-Allow-Origin:*。查看浏览器调试工具的网络选项卡中的标题。
    • @rych,这是在服务器上设置的。这是一个 node.js 示例,response.header("Access-Control-Allow-Origin", "*");response.header("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE,OPTIONS");response.header("Access-Control-Allow-Headers", "X-Requested-With,Content-Type");
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多