我正在尝试使用简单的代码来使用jquery获取城市名称 但结果我总是有完整的PHP代码,我命令处理, 虽然我采取的这些代码与来自互联网的来源不同
这是代码,
$('input#name-submit').on('click', function() {
var name = $('input#name').val();
var namempty = '';
if ($.trim(name) != '') {
$.post('ajax/name.php', {
nameSend: name
}, function(data) {
alert("Data Loaded: " + data);
});
} else {
$('div#name-data').text(namempty);
}
});
if (isset($_POST['nameSend'])=== true && empty($_POST['nameSend']) === false) {
require '../db/connect.php';
$query = mysql_query("SELECT city.cityId FROM city
WHERE city.cityName='"
. mysql_real_escape_string(trim($_POST['nameSend']))."' "
);
echo (mysql_num_rows ($query)!== 0 )
? mysql_result($query,0,'location') : 'Name Not Found !!!';
}
我请求处理的name.php根本没有处理 它只返回结果,就像name.php的代码一样 我已经使用了像WAMP / XAMPP这样的其他服务器 仍然没有得到我需要的结果
答案 0 :(得分:0)
如果返回整个PHP代码,您的PHP代码可能没有被执行。这可能是服务器配置问题。
另一方面,检查你的mysql语句返回的内容。它真的只返回城市名称吗?对我而言,似乎你正在那里取得一些城市。
一般来说,为了清理php脚本的返回值,我建议使用json。从您需要的数据库中获取数据,并将其存储在例如$object
中。然后执行以下操作:
$object = json_encode($object)
echo $object;
这会将数据转换为格式良好的对象,可以在jQuery代码中使用,如下所示:
var json = $.parseJSON(data); //data being the callback parameter
alert(json.attr1);
alert(json.attr2); //all attributes that the object had in the php code are accessible through this
总结一下:调试你的查询,确保你的php服务器实际工作(当你在浏览器中直接打开name.php时会发生什么?)并通过json使用干净的回调。
修改
要调试查询,请在脚本的最开头说
echo "SELECT city.cityId FROM city WHERE city.cityName='".mysql_real_escape_string(trim($_POST['nameSend']))."'";
exit;
在浏览器中打开脚本。您将在屏幕上看到您的查询回显。复制查询并将其粘贴到数据库面板(可能是phpmyadmin)并执行查询,看它是否返回任何错误消息。
答案 1 :(得分:0)
它看起来因为服务器软件错误,只要我尝试,我已经使用
嫌疑人是最新的apache服务器与jquery插件不兼容 或者php