[英]jQuery post not passing parameters
我有一个问题,即将变量发布到php脚本并在没有刷新页面的情况下返回结果。 php脚本koord.php
经过测试,工作正常。
adresa
, mjest
o和coords
是文本输入框): $(document).ready(function () {
$('#coord_click').click(function () {
provjera();
});
});
function provjera() {
var adresa = $('#adresa').val();
var mjesto = $('#mjesto').val();
var puna_adresa = adresa + " " + mjesto;
$.post("koord.php", { puna_adresa: puna_adresa },function (result) {
$('#coords').val(result);
});
}
$puna_adresa = $_GET['puna_adresa'];
function getCoordinates($address){
$address = str_replace(" ", "+", $address);
$url = "maps.google.com/maps/api/geocode/…";
$response = file_get_contents($url);
$json = json_decode($response,TRUE);
return ($json['results'][0]['geometry']['location']['lat'].",".$json['results'][0]['geometry']['location']['lng']);
}
echo getCoordinates($puna_adresa);
完整的源代码在这里: http : //pastebin.com/u/bradetic
谢谢!
你真的需要使用Jquery AJAX,这是一个例子:
<script>
function your_function()
{
// collect data like this
var formData = jQuery("#your_form_id").serializeArray();
jQuery.ajax({
type: "POST",
url:"your_php_page.php",
data:formData,
dataType:'json',
beforeSend: function()
{
},
success: function(resp)
{
alert(resp);
},
complete: function()
{
},
error: function(e)
{
alert('Error: ' + e);
}
});
}
</script>
你的PHP脚本应该是这样的:
$puna_adresa=$_POST['puna_adresa'];
function getCoordinates($address){
$address = str_replace(" ", "+", $address);
$url = "maps.google.com/maps/api/geocode/…;;
$response = file_get_contents($url);
return $response;
}
$response = getCoordinates($puna_adresa);
echo json_encode($response);
Jquery POST不是问题。
你正在做$.post(...)
,这意味着你需要通过$_POST
获取koord.php
的参数,并且你正在使用$_GET
,你看到问题是对的吗?
改变$_GET['puna_adresa'];
到$_POST['puna_adresa'];
要么
在客户端更改$.post(...)
$.get(...)
$.post(...)
。
POST
和GET
之间的区别吗? 你能试试吗
$.post("koord.php", { puna_adresa: adresa, mjesto: mjesto }, function (result) {
$('#coords').val(result);
});
其他方式:
$.post("koord.php", $( "#testform" ).serialize(), function (result) {
$('#coords').val(result);
});
你可以尝试这个
$.post( "koord.php", $( "#testform" ).serialize() );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.