JQuery使用Text Box中的PHP GET重新加载DIV层

时间:2012-02-04 14:36:18

标签: php jquery ajax forms html

尝试学习JQuery的一些菜鸟的问候,

我试图在div层下方的框中键入内容时,它会在提交表单时使用表单中的php get文本框重新加载该图层。预期的行为是它会重新加载该框,实际行为是它什么都不做。有人可以帮我吗....下面是代码。

<div id="currentwxdiv">This is where the new stuff happens
</div>
<form name="changewx" action="/">
<input type="text" id="city">
 <input type="submit" name="submit" class="button" id="submit_btn" value="New City" /> 
</form>
<script>
  /* attach a submit handler to the form */
  $('form[name="changewx"]').submit(function(event) {


    /* get some values from elements on the page: */
    var $form = $( this ),
        city = $('#city').val()

    /* Send the data using post and put the results in a div */
    $('#currentwxdiv').load('http://api.mesodiscussion.com/?location=' + city);
    return false;

  });
</script>

它给出了Javascript控制台错误错误....

“XMLHttpRequest无法加载http://api.mesodiscussion.com/?location=goodjob。Access-Control-Allow-Origin不允许原点http://weatherofoss.com。”

3 个答案:

答案 0 :(得分:1)

您正在使用POST方法吗?是不可能发布到外部网址,因为使用ajax,网址未通过&#34; Same Origin POlice&#34;。

如果您使用GET方法,则可以这样做。

另一种解决方案是建立代理。一个小小的脚本,然后使用CURL或其他东西来发送到外部URL ...最后,你jquery必须对代理进行帖子处理:

例如:

$.ajax({
  url: '/proxy.php?location=' + city,
  success: function(data) {
     $('#currentwxdiv').html(data);

  }
});

答案 1 :(得分:0)

我是这样做的:

    <div id="currentwxdiv">This is where the new stuff happens
    </div>
    <form name="changewx" action="/">
    <input type="text" id="city">

    </form>
    <script>

$('#city').keyup(function() {
var city = $('#city').val() 

$.ajax({
  url: 'http://api.mesodiscussion.com/?location=' + city,
  success: function(data) {
     $('#currentwxdiv').html(data);

  }
});



});

    </script>

答案 2 :(得分:0)

为了帮助你,我需要测试一下。 您的HTML代码的网址是什么?

http://api.mesodiscussion.com/?location=不起作用......只列出目录内容......也许这就是问题?

Greatings。