您好我在通过POST传递多个数据时遇到问题,隐藏类型也无法获取ID。
$(document).ready(function() {
//##### Add record when Add Record Button is click #########
$("#FormSubmit").click(function (e) {
e.preventDefault();
if($("#contentText").val()==='')
{
alert("Please enter some text!");
return false;
}
if($("#guestName").val()==='')
{
alert("Please enter text!");
return false;
}
var content = 'content_txt='+ $("#contentText").val(); //build a post data structure
var guest = 'guest_name='+ $("#guestName").val();
var article = 'article_id=' + $("#articleID").val();
jQuery.ajax({
type: "POST", // Post / Get method
url: "<?php echo site_url('article/create_comment/'); ?>", //Where form data is sent on submission
dataType:"text", // Data type, HTML, json etc.
data: "content_txt=" + content + "&guest_name=" + guest + "&article_id=" + article, //Form variables
success:function(response){
$("#responds").append(response);
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError);
}
});
});
});
当我运行时,我得到结果:
guest_name = ttata -
content_txt = tatata
而不是ttata和内容tatata
答案 0 :(得分:0)
您是否考虑过发送FormData而不是手动构建数据格式?对不起,我无法发表评论,所以如果您提出不同的问题,我会道歉。
e.g。
$("#FormSubmit").click(function (e) {
e.preventDefault();
var formData = new FormData(document.forms.namedItem([form-name-here]);
var request = new XMLHttpRequest();
request.open("POST", ["your-action-here"], true);
request.onload = function(e){
if(request.status == 200){
alert("Success!");
} else {
alert("Bummer!");
}
}
}
答案 1 :(得分:0)
这一行
var content = 'content_txt='+ $("#contentText").val();
评估为&#34; content_txt = ttata&#34;。然后
data: "content_txt=" + content + ...
评估为
"content_txt=content_txt=ttata"
所以要么使用
var content = $("#contentText").val();
或
data: content + ...
答案 2 :(得分:0)
以下是您定义变量的方式:
var content = 'content_txt='+ $("#contentText").val();
......
然后在您的Ajax调用中,您将如何将数据放在一起:
data: "content_txt=" + content + '&.....'
那张照片出了什么问题?
答案 3 :(得分:0)
您可以尝试将数据作为JSON发送。只需添加dataType参数:&#34; JSON&#34;然后将您的数据作为JSON对象传递,如此......
{content_text:content,guest_name:guest,article_id:article}