当我提交没有数据值的jquery ajax请求时,它可以工作,当我提交数据值时,没有任何反应。我检查它是否使用firebug工作。我认为这是一个简单的错误,但我似乎无法弄明白。请帮助。
这是Jquery代码
var inputString = $("something").val();
var suggestions = $.ajax({
url: "temp.php",
type: "POST",
data: {valueInput : inputString},
dataType: "html"
});
temp.php只是有一些简单的代码,因为我正在测试:
echo "We got sumn here";
另一件事是建议变量是空的,有什么想法吗?
答案 0 :(得分:4)
您可以尝试:
data: 'valueInput=' + encodeURIComponent(inputString),
suggestions
被设置为从$.ajax()
函数返回的jqXHR对象。如果您想在服务器响应上工作,那么您需要以某种方式设置success
回调。这有两种方式:
var inputString = $("something").val();
$.ajax({
url : "temp.php",
type : "POST",
data : 'valueInput=' + encodeURIComponent(inputString),
dataType : "html",
success : function (serverResponse) {
//you can now do work on the server-response, it's stored in the serverResponse variable
alert(serverResponse);
}
});
OR
var inputString = $("something").val(),
suggestions = $.ajax({
url : "temp.php",
type : "POST",
data : 'valueInput=' + encodeURIComponent(inputString),
dataType : "html"
});
$.when(suggestions).then(function () {
//this is your callback function
});
我建议使用第一种方法,第二种方法更先进,如果你想在做某事之前等待一组AJAX请求完成,那么它真的很有帮助。
答案 1 :(得分:1)
valueInput应该是引号,因为它是一个名称。 'valueInput'
var inputString = $("something").val();
var suggestions = $.ajax({
url: "temp.php",
type: "POST",
data: {'valueInput': inputString},
dataType: "html"
});
答案 2 :(得分:1)
您需要以查询字符串的形式传递数据。它应该是a = 1& b = 2& c = 3& d = 4& e = 5
您可以对选择了表单元素或表单标记的jQuery对象使用.serialize()方法。所以,也许这段代码会有所帮助。
var suggestions = $.ajax({
url: "temp.php",
type: "POST",
data: $("something").serialize(),
dataType: "html"
});
答案 3 :(得分:0)
你可以尝试
data:JSON.stringify({'valueInput':inputString}),
在您的数据参数中。