【问题标题】:build a post data structure from form with multiple variables从具有多个变量的表单构建一个 post 数据结构
【发布时间】:2014-08-17 23:38:34
【问题描述】:

我有一个表格:

    <div class="form_style">
<input name="name" type="text" id="Name" class="input username" placeholder="Username" />
<textarea name="content_txt" id="contentText" cols="45" rows="5" placeholder="Enter some text"></textarea>
<input name="event_id" id="eventId" type="hidden" value="31"/>
<button id="FormSubmit">Add Comment</button>
<img src="images/loading.gif" id="LoadingImage" style="display:none" />
</div>

我可以将带有 ajax 的 content_txt 发布到带有数据结构的 php 中。如何使用所有变量构建数据?

这是内容txt的ajax代码:

ar myData = 'content_txt='+ $("#contentText").val(); //build a post data structure

所以我只想传递两个输入(名称和 event_id,用于测试。)

我希望将所有数据插入到 sql 数据库中。

一切正常,但仅适用于 content_txt 文本区域。知道如何将其他内容添加到varmyData 吗?

【问题讨论】:

  • $.post('url', { content_text: $('#contentText').val() });

标签: javascript php mysql ajax post


【解决方案1】:

将数据发布为 JSON 结构:

var myData = {
    content_text: $('#contentText').val(),
    name: $('#Name').val(),
    event_id: $('#eventId').val()
};

$.post('http://www.example.com', myData);

【讨论】:

  • 现在我正在使用 ajax 将数据发布到 php:var myData = 'content_txt='+ $("#contentText").val(); //build a post data structure jQuery.ajax({ type: "POST", url: "response.php", dataType:"text", data:myData, 如果您使用 JSON,数据类型将如何变化?
  • dataType 是您期望从服务器返回的数据类型,所以我认为没有必要更改它。您可能会考虑更改contentType,但由于默认为application/x-www-form-urlencoded,您应该可以继续使用。
  • 不幸的是不能让它工作。用 js 发布数据后,我试图用$usernameContent = $_POST['event_id']; $eventidContent = $_POST['name']; 获取数据,我无法回显变量的内容。知道我想念什么吗?无论如何要打印出myData的内容,因为我认为那里有问题....
  • 仍然无法解决问题。我也尝试使用 js 数组,但没有成功:data = []; data[0] = $('#contentText').val(); data[1] = $('#name').val(); data[2] = $('#eventId').val(); php 部分如下:if(isset($_POST["content_txt"]) {...} 但它运行到其他部分:else { //Output error header('HTTP/1.1 500 Error occurred, Could not process request!'); exit(); } 你能推荐解决方案吗?
【解决方案2】:

这将帮助您收集 .form_style 下的任何表单元素

var data = {};
$(".form_style").find("input, textarea").each(function () {
      var $this = $(this)
      if ($this.prop('name')) {
           data[$this.prop('name')] = $this.val();
      }          
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多