jquery与.getJSON

时间:2010-10-20 21:06:53

标签: jquery json

我有两个共享提交按钮的表单

("#sbtBtn").click(function() {
          if($("input[name=license_code]").val()) {      //check if #retUser has a value
            $("#formOne").submit();
          } else if ($("input[name=referred_by_text]").val() || $("input[name=broker_text]").val() || $("input[name=email1]").val()) {
            $("#formTwo").submit();
          }

    });

for“#formOne”我试图使用jquery的getJSON函数来使用脚本跨域,它不起作用。

$("#formOne").validate({
            errorElement: "em",
            errorPlacement: function(error, element) {
                error.appendTo( element.parent("li"));
            },
            submitHandler: function(form) {
                var dataString = $(form).serialize();
                $.getJSON("http://www.domain.com/sugar/NT7Lead2.php?data=" + escape($(this).serialize()) + "&callback=?", function(data) {
                                                                                                                                                $("#results").html(data);
                                                                                                                                                });
            return false;
            },
            rules: {
                    license_code: {
                    minlength: 3,
                    maxlength: 39
                }
            },

            messages: {
                license_code: {
                    minlength: "Your License be at Least 3 Characters Including Dashes",
                    maxlength: "Your License Key Cannot Be More Than 39 Characters Including Dashes"
                }
            }
    });

当我在firebug中查看时,数据从脚本返回,但未添加到“#results”。这里有什么明显的错误吗?我还需要在表单操作中包含脚本,因为它在JSON函数中吗?这是html

<div class="purchaseFormContain" id="currentUser">
                    <div class="purchaseTH form" id="formOneTH"><h3>Current Users</h3></div>
                    <form method="post" name="formOne" id="formOne">
                        <ul class="features">
                            <li><label for="license_code">Enter Your License Key Here</label></li>
                            <li><input type="text" name="license_code" /></li>
                        </ul>
                    </form>
                    <div class="clear"></div>
                    <div id="results"></div>
                <!--/retUser purchaseFormContain --></div>

请帮忙! THX

3 个答案:

答案 0 :(得分:1)

超越JSONP如果你有任何服务器端语言的经验,你可以很容易地在本地创建一个小应用程序,为你提取响应。

e.g。在Java中,您有一个带有所需参数的servlet,servlet发出请求然后返回响应。

答案 1 :(得分:0)

“您必须查看相关网站是否支持JSONP” - 请参阅Cross domain ajax response failing

答案 2 :(得分:0)

尝试获取响应的示例。它应该是JSON。尝试检查您如何访问响应。我也遇到了一些问题。此外,使用服务器端脚本是一个好主意。如果您使用php,请尝试使用cURL。这很容易