Вот мой код. Вы должны любезно посмотреть, страдает ли она «политикой того же происхождения» в этой форме. Домен для HTML: (http://127.0.0.1/jqload.html) & php file (http://127.0.0.1/conn_sql.php).) Это формат json: [{"options": "smart_exp"}, {"options": "user_int"}, {"options": "blahblah" }]
Я на самом деле хочу добавить данные JSON, которые я получаю в HTYML с пользовательским вводом, и я страдаю от этого. Если я использую eval для разбора, он прекрасно работает, чтобы указать его здесь. Но если я использую JSON.parse для анализа, весь код перестает работать, и выдается это сообщение об ошибке: «ВАЖНО: удалите эту строку из json2.js перед развертыванием». Я разместил свой код для какого-то другого вопроса на форуме stackoverflow, и мне сказали, что мой код страдает от «той же политики происхождения», которая вызывает проблемы при добавлении данных JSON. Можете ли вы увидеть, страдает ли мой код этой политикой? Хотя я сомневаюсь, что она страдает от этой политики, так как я узнаю, что она ограничивает, если файлы находятся в разных доменах, здесь оба файла находятся рядом друг с другом.
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html><head></head>
<body>
<form name="index">
<p><input type = "text" id = "txt" name = "txt"></input>
<p><input type = "button" id = "send" name = "send" value = "send" onClick=
"ADDLISTITEM"></input>
<p><select name="user_spec" id="user_spec" />
</form>
<script>
function ADDLISTITEM()
{
alert (json.length); // working
alert json.options[1]; // do not show any value, message just for testing
json.options[json.length+1] = 'newOption'; //not working; HELP HERE
jsonString = JSON.stringify(json);//working fine for current data
alert(jsonString);
//here I have to implement send this stringify(json) back to server,HELP
//HERE
}
</script>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
var json;
$(document).ready(function() {
jQuery .getJSON("http://127.0.0.1/conn_mysql.php", function (jsonData) {
json = jsonData;
$.each(jsonData, function (i, j) {
document.index.user_spec.options[i] = new Option(j.options);
});
});
});
</script>
</body>
</html>