![](/img/trans.png)
[英]How to post data (form) without page refresh PHP, jQuery, Ajax
[英]jQuery AJAX POST to allow form data sending without page redirect- how to then insert data into mysql
我遵循了三篇教程,一本關於將表單數據提交到php文件,一本關於將數據寫入mysql表,然后一本關於jQuery AJAX來完成所有這些操作而無需頁面重定向。
順便說一下,jQuery AJAX教程就在這里,因為似乎該站點上的很多人都在問如何在沒有POST重定向的情況下發送表單:
關於通過AJAX將數據獲取到php文件方面,我已經正確設置了所有內容,但是php mysql語句不會將數據寫入數據庫。 我已經使用firebug來檢查數據是否到達了php,這就是我的想法。
我確定問題不是數據庫連接性之一,我認為這是由於數據格式傳遞給php文件。 對我來說,混合和匹配這些教程很困難。 我是否需要解壓縮在jQuery函數中創建的字符串數據?
順便說一句,他在jQuery AJAX教程中提到“除了發送電子郵件和發送成功消息外,您還可以在這里做更多高級的事情。 例如,您可以將值發送到數據庫,進行處理,然后將結果顯示回給用戶。 聽起來他在說您可以使用除POST之外的其他方法來執行php文件。 我以為php文件的全部目的是進行數據庫存儲?
感謝您的時間。
jQuery AJAX發送數據:
jQuery(function() {
jQuery(".button1").click(function() {
var txtRow1 = jQuery('#txtRow1').val();
var tickerRow1 = jQuery('#tickerRow1').val();
var dataString = 'txtRow1='+ txtRow1 + '&tickerRow1=' + tickerRow1;
//alert (dataString);return false;
jQuery.ajax({
type: "POST",
url: "form_action.php",
data: dataString
});
return false;
});
});
和form_action.php:
<?php
$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'pass';
$dbname = 'dbname';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);
$txtRow1 = $_POST['txtRow1'];
$tickerRow1 = $_POST['tickerRow1'];
$sqlinsert = "INSERT INTO stock_port (name, ticker) VALUES ('$txtRow1', '$tickerRow1')";
?>
首先,確保從發布中轉出數據:
$sqlinsert = "INSERT INTO stock_port (name, ticker) VALUES ('".mysql_real_escape_string($txtRow1)."', '".mysql_real_escape_string($tickerRow1)."')";
第二件事,您沒有執行查詢(或者這里缺少一些代碼?)
mysql_query($sqlinsert, $conn);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.