<script>
function country_state(sid) {
var id = sid;
console.log("Function called " + sid + " " + $("#state").val());
$.get("country.php?id=" + id, function(d) {
console.log("Function returned " + d);
alert("Returned: " + d);
$(".media").html(d);
});
}
</script>
在这段代码中,第一个错误日志即将到来但不是第二个。看起来GET没有返回任何东西,尽管根据firebug,GET请求正在激活,并且空白的response.please帮助。
答案 0 :(得分:0)
您可以尝试错误回调,查看文档: http://api.jquery.com/jQuery.get/
// Assign handlers immediately after making the request,
// and remember the jqxhr object for this request
var jqxhr = $.get("example.php", function() {
alert("success");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
// perform other work here ...
// Set another completion function for the request above
jqxhr.complete(function(){ alert("second complete"); });
答案 1 :(得分:0)
尝试改进您的代码,例如:
function send(id) {
$.get('country.php', { id:id }, function(data) {
var secureData = eval('(' + data.split('while(1);')[1] + ')');
if (typeof callback == 'function') callback(secureData);
alert(data);
});
}
为什么我要使用这一切?检查一下,你会得到答案: http://insecureweb.com/javascript/secure-your-ajax-request-with-jquery/ (这是一种安全感)
现在,请确保您的PHP文件中您需要ID而不是SID作为您的jQuery函数:
<?php
//$_GET['id'] the name of 'id' was defined on jquery $.get { param:param }
//this is a common mistake (getting confused of what you passed in parameters like for example using ID and SID)
if ($_GET && isset($_GET['id'])){
$id = $_GET['id'];
//do your work here
}
?>
希望这会有所帮助,并且可能会以正确的方式澄清你的事情,因为有时当你没有在php中传递if语句时,你会收到一个空白页面(也是空的响应),你可以检查它是否打开了' country.php'直接在浏览器中。
问候。