2010-11-23 76 views
0

JSON请求属性我需要的URL结构像一个JSON请求:site.com/page?id=123设置变量作为使用jQuery

如何传递变量通过请求,然后将结果返回到页面?

<input type='text' id='theInput'> 
    <input onclick='getIt(); return false;' /> 
    <div id="results"></div> 
    <script> 
     function getIt(){ 
     var x = ($j('#theInput').val()); 
     $j.getJSON("http://site.com/page?id=", 
      { 
     //how do i append x to request? 
      }, 
     ); 
     } 
    </script> 
+0

“http:// site.com/page”是您的网站还是第三方网站?如果后者会遇到同源政策问题。 – 2010-11-23 09:27:13

+0

我希望能像这样运行两个进程...一个是同一个站点,另一个是站点的子域。我需要使用JSONP吗? – Zac 2010-11-23 16:15:38

回答

1

尝试这样的:

<input type="text" id="theInput" /> 
<input type="button" id="btn" value="Click me" /> 
<div id="results"></div> 

,然后在单独的JavaScript文件:

$(function() { 
    $('#btn').click(function() { 
     var id = $j('#theInput').val(); 
     $j.getJSON('http://site.com/page', { id: id }, function(result) { 
      // manipulate the results 
     }); 
     return false; 
    }); 
}); 

而且

var id = $j('#theInput').val(); 
$j.getJSON('http://site.com/page', { id: id }, function(result) { 
    // success 
}); 

另外我想你用不显眼的JavaScript推荐你应该确定您尊重same origin policy或您的AJAX请求可能不起作用。验证http://site.com/page与承载发送AJAX请求的页面的域相同。如果不是这种情况,您可以配置您的服务器发送JSONP响应。