2010-10-20 64 views
0

我共享一个提交按钮的jQuery与.getJSON

("#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(); 
      } 

    }); 

为“#formOne”我试图使用jQuery的功能的getJSON使用脚本跨域,它不工作2种形式。

$("#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

回答

0

“你必须看到,如果有问题的网站支持JSONP” - 见Cross domain ajax response failing

+0

我不这么认为。当我输入表单处理器脚本url + callback = foobar时,如果验证失败,它会在页面上的脚本中显示消息错误消息,而不是回调 – 2010-10-21 13:11:52

1

除了JSONP如果你有服务器端语言的经验,你可以很容易地在本地创建一个小的应用程序,为获取你的反应。

例如在Java中你有需要你所需的参数一个servlet,该servlet发出请求,然后返回响应。

0

尝试获得响应的样品。它应该是JSON。尝试检查你是如何访问响应的。我也有一些问题。另外,使用服务器端脚本是一个好主意。如果您使用php,请尝试使用cURL。这很容易

+0

我已经在此站点的其他表单上使用cURL,但它们只是连接到Web服务。这必须与数据库进行交互,Im在关闭连接时遇到了困难。生病在另一个主题中发布代码。谢谢! – 2010-10-21 13:08:50