私のコード:
function callback(request, prim_key) {
var type = request.getResponseHeader("Content-Type");
if (type === "application/json") {
console.log(request.responseText);
var response = JSON.parse(request.responseText);
if (!response['success']) {
alert("Error!\n\nError number: " + response['errno'] + "\n\nError string: " + response['error']);
}
else {
alert("Update Successful!");
}
var els = getElementsByClass(prim_key);
for (var i = 0; i < els.length; i++) {
if (els[i].type != 'checkbox') {
els[i].innerHTML = response[els[i].headers];
}
}
} else {
alert("not a json reponse! check database for errors.");
}
}
jason.parser を呼び出すと停止し、以下のエラー メッセージが表示されます。
キャッチされていない SyntaxError: 予期しないトークン < .
私は request.responseText をコンソールしようとして、以下の結果を取得します: 更新: 実際には、request.responseText には以下に必要なデータが含まれているだけでなく、最初に html ファイルも含まれていることに気付きました。それが私の問題だと思いますが、解決方法がわかりません。
{"success":true,"ID":"131","Manufacturing_ID":"88888","Sequence_Name":"NDU","Bases":"22","Sequence":"TGG AGA TGT GTG CGT TCT TCTGG AGA TGT GTG CGT TCT TCTGG AGA TGT GTG CGT TCT TC","Tm_C":"55.00000000","nmoles":"26.0","Owner":"Liang","Species":"gallus"}
私の「resonseText」に「<」がないようです。アイデア、ありがとう
更新: 実際には、request.responseText には、以下に必要なデータが含まれているだけでなく、最初に html ファイルも含まれていることに気付きました。,それが私の問題だと思いますが、解決方法がわかりません。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...................
{"success":true,"ID":"131","Manufacturing_ID":"88888","Sequence_Name":"NDU","Bases":"22","Sequence":"TGG AGA TGT GTG CGT TCT TCTGG AGA TGT GTG CGT TCT TCTGG AGA TGT GTG CGT TCT TC","Tm_C":"55.00000000","nmoles":"26.0","Owner":"Liang","Species":"gallus"}
私のPHPコード:
$query = "SELECT * FROM $table WHERE ";
$i = 0;
foreach ($pks as $pk) {
$query .= "$pk='$pvs[$i]' AND ";
$i++;
}
$query = rtrim($query, " AND ");
$result = $db_conn->query($query);
$row = $result->fetch_assoc();
//$flag_key='';
if ($db_conn->errno) {
echo "oops";
} else {
foreach ($row as $key => $value) {
$response[$key] = $value;
//$flag_key .=$key.'-'.$value.'***';
}
}
header('Content-Type: application/json');
echo json_encode($response);