下面是我的场景:
我有一个下拉菜单,有不同的值。当选择'A‘选项时,我希望它使用JQuery调用一个Php脚本。当将该记录ID返回给javascript时,javascript将根据返回的ID (即/products/$ ID )将浏览器指向特定的URL。
现在,我有了它,以便下拉菜单触发一个javascript函数。我还有执行数据库工作的Php脚本。我只是不确定javascript函数中应该包含哪些内容,或者如何使它与Php脚本连接,以及如何获得返回的数据(以及如何处理返回类型- xml、html等)
我正在使用JQuery库和PHP5.x。
发布于 2011-04-19 12:13:52
一个简单的例子是采取如下形式
Example.php
<form id="form" name="form">
<select name="dropdown" id="dropdown">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>
<input type="submit" id="submit" name="submit" value="Submit!" />
</form>
然后将其与一些JQuery链接起来,以拦截表单,并将其发送到PHP文件中。
JQuery.js
$(document).ready(function(){
$("#dropdown").change(function(event) {
$.ajax({
type: "POST",
url: "query.php",
data: $('#form').serialize(),
datatype: "json",
success: function(data){
var ret = jQuery.parseJSON(data);
// Redirect to ret.link
}
});
event.preventDefault();
});
});
然后,创建PHP文件来解释它
query.php
$stmt = $sql->dbh->prepare("SELECT `Link` FROM `Links` WHERE `ID` = :id");
$stmt->bindValue(':id', $_POST['dropdown']);
$stmt->execute();
$link = $stmt->fetch()['Link'];
echo json_encode(array('link' => "{$link}"));
die();
发布于 2011-04-19 12:11:19
$("#menu-item").click(function() {
jQuery.ajax({
type: "POST",
url: "yourScript.php",
data: "data=foo",
success: function(response){
//redirect to id using response
window.location.replace("http://yoursite.com/products/" + response);
}
});
});
当然,这将需要根据您的独特情况定制。
https://stackoverflow.com/questions/5721903
复制