【发布时间】:2012-03-30 10:55:04
【问题描述】:
我用 jQuery 自动完成功能创建了这个表单。从自动完成列表中选择的品牌需要使用 $.ajax 函数发送到 PHP 文件。我的代码似乎不起作用,但我找不到错误。我不知道为什么数据没有插入 MYSQL 数据库。这是我的代码:
JQUERY:
$(document).ready(function() {
$("#autocomplete").autocomplete({
minLength: 2
});
$("#autocomplete").autocomplete({
source: ["Adidas", "Airforce", "Alpha Industries", "Asics", "Bikkemberg", "Birkenstock", "Bjorn Borg", "Brunotti", "Calvin Klein", "Cars Jeans", "Chanel", "Chasin", "Diesel", "Dior", "DKNY", "Dolce & Gabbana"]
});
$("#add-brand").click(function() {
var merk = $("#autocomplete").val();
$("#selected-brands").append(" <a class=\"deletemerk\" href=\"#\">" + merk + "</a>");
//Add your parameters here
var param = JSON.stringify({
Brand: merk
});
$.ajax({
type: "POST",
async: true,
url: "scripttohandlejson.php",
contentType: "application/json",
data: param,
dataType: "json",
success: function (good){
//handle success
alert(good)
},
failure: function (bad){
//handle any errors
alert(bad)
}
});
return false;
});
});
PHP 文件: scripttohandlejson.php
<?PHP
$getcontent = json_decode($json, true);
$getcontent->{'Brand'};
$vraag = "INSERT INTO kijken (merk) VALUES ('$data_s')";
$voerin = mysql_query($vraag) or die("couldnt put into db");
<?
【问题讨论】:
-
"
$vraag ="INSERT INTO kijken (merk) VALUES ='$getcontent' ";" 你可能想读这个:en.wikipedia.org/wiki/SQL_injection 这个:xkcd.com/327 -
为什么要以 JSON 格式发送所选项目?
-
有人建议我,如果我想发送多个数据@once,我应该改用 JSON。
-
在 php 脚本中,您使用 json_decode 函数将其转换为数组。在下一行中,您尝试访问类似对象。那可能是一个pblm。更好的是,打印每个语句中的值并尝试使用 firebug 跟踪它。如果您仍有澄清,请粘贴 ajax 响应并尝试通过设置 error_reporting(E_ALL); 进行调试然后是 ini_set(display_error,2);