jqueryerror";这";未定义$.post到php页面的
我对以下代码有相同的问题:jqueryerror";这";未定义$.post到php页面的,jquery,.post,Jquery,.post,我对以下代码有相同的问题: function getpgisdata() { sdata = ads.d; var send = $.post("csqcity.php", { variable:sdata }, function pgisquery(data) { alert("success"); }) .success(function() { alert("second success"); }) .e
function getpgisdata() {
sdata = ads.d;
var send = $.post("csqcity.php", { variable:sdata }, function pgisquery(data) {
alert("success");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
send.complete(function(){ alert("second complete");
});
该函数由以下函数调用:
<div class="wrapSearch">
<div>
<input id="searchTextField" type="text" size="50" placeholder="Enter an address...">
<input type="submit" name="search" id="search1" onclick="getpgisdata()">
</div>
<div class="listWrap" id="listWrap1">
<ul class="searchList" id="searchList1">
</ul>
</div>
与谷歌
Uncaught TypeError: Cannot call method 'lat' of undefined
%7Bmain,places%7D.js:11
csqcity.php包含:
index.html中引用了以下库:
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script>
<link rel="stylesheet" type="text/css" href="http://dev.openlayers.org/releases/OpenLayers-2.12/theme/default/style.css"/>
<link rel="stylesheet" type="text/css" href="http://dev.openlayers.org/releases/OpenLayers-2.12/examples/style.css"/>
<script type="text/javascript" src="http://dev.openlayers.org/releases/OpenLayers-2.12/OpenLayers.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
有人知道吗?提前谢谢你 在我检查了“this”值之后,我设法让代码正常工作。在我的代码中,这是DOM文档。首先,我将$.post包含在触发它的HTML input submit元素中,将this作为HTML输入,并使用自动完成器的关联输入文本的值。我犯的另一个错误是将所需数据存储在全局变量中,这触发了“this is undefined”错误。所以我调用了与HTML输入提交关联的HTML输入文本(在我的例子中就是这样) 该函数的代码为:
$(document).ready(function () {
$('#search1').click(function(){
sdata = $('#searchTextField').val();
if( sdata == undefined || sdata == 'Enter an address...' || sdata < 4 ){
alert('Please insert or choose an address to proceed.');
} else {
$.post(
'csqcity.php',
{ 'variable' : sdata },
function( r_data ){
alert(r_data);
}
);
}
});
});
$(文档).ready(函数(){
$('#search1')。单击(函数(){
sdata=$('#searchTextField').val();
如果(sdata==未定义| | sdata=='输入地址…'| | sdata<4){
警报('请插入或选择要继续的地址');
}否则{
美元邮政(
“csqcity.php”,
{'variable':sdata},
函数(r_数据){
警报(r_数据);
}
);
}
});
});
美元的帖子成功了
谢谢你的建议!他们帮助我理解了这个问题。首先,
成功
错误和完成
需要替换为完成
失败和始终
,以防止将来升级jQuery时出现问题。ads.d
包含什么?通常,“这”错误与从对象原型外部调用方法有关。因此,“窗口”就是“这个”。ads是一个定义为全局的变量,我将它附加在d上,它在initialize()函数中获取值,因此我可以将它传递给getpgisdata()函数该函数附加到输入表单的Submit按钮上。输入表单的值是ads.donclick我运行函数getpgisdata,它向php页面发送请求。这可能是输入表单,我应该附加一个事件来触发post?
function initialize() {
input = document.getElementById('searchTextField');
var options = {
componentRestrictions: {country: 'us'},
//componentrestrictions: {administrative_area2: 'tx'}
};
autocomplete = new google.maps.places.Autocomplete(input, options);
google.maps.event.addListener(autocomplete, 'place_changed', function() {
//var place = autocomplete.getPlace();
var place = autocomplete.getPlace();
ads.d = place.geometry.location;
});
}
google.maps.event.addDomListener(window, 'load', initialize);
$(document).ready(function () {
$('#search1').click(function(){
sdata = $('#searchTextField').val();
if( sdata == undefined || sdata == 'Enter an address...' || sdata < 4 ){
alert('Please insert or choose an address to proceed.');
} else {
$.post(
'csqcity.php',
{ 'variable' : sdata },
function( r_data ){
alert(r_data);
}
);
}
});
});