尝试学习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。”
答案 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。