2011-09-10 41 views
12

我试图创建我的第一个小提琴。因此,这里就是我想用jQuery做如何在jsField中使用ajax请求

$('.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标记。

回答

10

由于这是一个非常基本的安全风险,因此无法向除当前域之外的域发出AJAX请求。

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

4

以下是您可能正在寻找的工作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);; 
    });​ 
}); 
+0

这是如何工作的? $ .get()调用不应该被相同的原始策略禁止吗?/confused – rych

+0

远程服务器添加这个HTTP头来告诉浏览器它允许跨域请求'访问控制 - 允许 - 来源:*'。查看浏览器调试工具的“网络”选项卡中的标题。 – oldwizard

+0

http://echo.json.services/?foo=bar&baz=qux – Falci