如何在jsFiddle中使用ajax请求

13

我正在尝试创建我的第一个小例子。这是我想要使用 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标记。

2个回答

11

由于这是一种基本的安全风险,无法向当前域以外的域进行AJAX请求。

jsFiddle提供了一个API用于测试AJAX请求,您应该使用该API进行测试。


可能相同,更新的网址:https://docs.jsfiddle.net/async-requests - freedomn-m

6
这里有一个可行的示例 fiddle,与您可能正在寻找的内容相关。
我使用了http://echo.jsontest.com,但您可以替换为您有效的URL。
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() 调用不应该被同源策略禁止吗?/困惑 - rych
远程服务器会添加此HTTP标头,以告诉浏览器它允许跨域请求“Access-Control-Allow-Origin:*”。请参见您浏览器的调试工具中的网络选项卡中的标头。 - oldwizard
@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"); - Eat at Joes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接