使用jQuery将变量设置为JSON请求中的属性

时间:2010-11-23 09:19:17

标签: jquery ajax json

我需要使用url结构发出json请求,例如:site.com/page?id = 123

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

    <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>

1 个答案:

答案 0 :(得分:1)

试试这样:

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

我还建议你使用不引人注目的javascript:

<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;
    });
});

此外,您应确保尊重same origin policy或您的AJAX请求可能不起作用。验证http://site.com/page是否与托管发送AJAX请求的页面的域相同。如果不是这种情况,您可以将服务器配置为发送JSONP响应。