2010-11-23 61 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響應。