我试图通过JQuery / AJAX将输入框的内容发送到php文件。当脚本运行时,一切似乎都很好,但是,我什么都没收到。以下是我的ajax电话;
$(document).ready(function(){
$("#kinaseEntry").change(function () {
var kinaseEntry = $("#kinaseEntry").val();
var dataString = "kinaseEntry=" + kinaseEntry;
$("#waiting").show(500);
$("#message").hide(0);
alert(kinaseEntry);
//Fetch list from database
$.ajax({
type : "GET",
url : "post.php",
datatype: "json",
data: dataString,
success : function(datas) {
$("#message").show(500);
$("#message").html(datas);
alert(datas);
}
});
return false;
});
});
脚本运行后,我在地址栏中得到以下结果;
我将非常感谢任何帮助,我只是开始熟悉JSON。
这是测试php文件的结果表单
{"kinaseSKU":"ABL1","url":"https:\/\/products.beta.invitrogen.com\/ivgn\/en\/US\/adirect\/invitrogen?cmd=catProductDetail&showAddButton=true&productID=P3049","molecularWeight":"125.4 kDa","tracerSKU":"","antiSKU1":"","antiSKU2":"","bufferSKU":"","tracerConc":"","assayConc":""}
输入表单如下;
<form id="form" action="#">
<p>To begin, start typing a Kinase:</p>
<input type="text" size="25" name="kinaseEntry" id="kinaseEntry" />
</form>
答案 0 :(得分:1)
var dataString = "kinaseEntry=" + kinaseEntry;
由于问题是您没有收到来自操作网址的反馈,因此您可能需要检查post.php。此外,如果您使用数据类型json
,请确保执行以下操作:
header("Content-type:application/json");
echo json_encode($variable); //where variable is your result
如果您将json
指定为数据类型
答案 1 :(得分:0)
来自the docs:
data选项可以包含表单的查询字符串
key1=value1&key2=value2
,或{key1: 'value1', key2: 'value2'}
形式的地图。如果使用后一种形式,则将数据转换为a 在发送之前使用jQuery.param()查询字符串。这个处理 可以通过将processData设置为false来规避。处理 如果您希望将XML对象发送到服务器,则可能不合需要; 在这种情况下,请更改contentType选项 application / x-www-form-urlencoded为更合适的MIME类型。
您只是发送一个纯字符串,而不是一个键/值对。尝试在字符串中添加=
或使用地图。
答案 2 :(得分:0)
试试这个:
$(document).ready(function(){
$("#kinaseEntry").change(function () {
$("#waiting").show(500);
$("#message").hide(0);
//Fetch list from database
$.getJSON("post.php", {
kinaseEntry : $(this).val()
}, function (datas) {
$("#message").html(datas);
})
return false;
});
});
对我来说似乎更容易...... =]希望这会有所帮助.. =]