私はサイドプロジェクトとして作っているWeb遊び場にGithub Gistsを使用しています。 2つのjsonファイルをエディタにロードします。 1は、私は、このJSONという名前の設定はJSONからAJAX経由で値を設定
var settings = gistdata.data.files["settings.json"].content
var jsonSets = JSON.parse(settings)
私はパースと試みてきたので、とにかくユーザーの設定(フォントサイズ、バージョン、など:)
ためのすべてのライブラリ(jQueryの、ブートストラップなど:)と他を扱いますJSONからオブジェクトを取得し、それを入力テキストボックスの値として設定します。
今console.log(jsonSets.siteTitle)
完全に罰金作品
が、私は動的に入力を変更しようとすると...
$("[data-action=sitetitle]").val(jsonSets.siteTitle).trigger("change")
問題は、それが実際に値を適用していないです!
私が正常値である適用することができました唯一の方法...とてつもなく遅いのです
setTimeout(function() {
$("[data-action=sitetitle]").val(jsonSets.siteTitle).trigger("change")
}, 5000)
。
誰もが値を適用しない理由を知っていますか?
さらに。
この問題を解決するにはどうすればよいですか?
var hash = window.location.hash.substring(1)
if (window.location.hash) {
function loadgist(gistid) {
$.ajax({
url: "https://api.github.com/gists/" + gistid,
type: "GET",
dataType: "jsonp"
}).success(function(gistdata) {
var libraries = gistdata.data.files["libraries.json"].content
var settings = gistdata.data.files["settings.json"].content
var jsonLibs = JSON.parse(libraries)
var jsonSets = JSON.parse(settings)
// Return libraries from json
$.each(jsonLibs, function(name, value) {
$(".ldd-submenu #" + name).prop("checked", value)
})
// Return font settings from json
var siteTitle = jsonSets.siteTitle
var WeaveVersion = jsonSets.version
var editorFontSize = jsonSets.editorFontSize
var WeaveDesc = jsonSets.description
var WeaveAuthor = jsonSets.author
$("[data-action=sitetitle]").val(siteTitle).trigger("change")
$("[data-value=version]").val(WeaveVersion).trigger("change")
$("[data-editor=fontSize]").val(editorFontSize).trigger("change")
$("[data-action=sitedesc]").val(WeaveDesc).trigger("change")
$("[data-action=siteauthor]").val(WeaveAuthor).trigger("change")
}).error(function(e) {
// ajax error
console.warn("Error: Could not load weave!", e)
})
}
loadgist(hash)
} else {
// No hash found
}
'JSONPを追加しようとしました: '右のdataType'背後callback'':' jsonp'' –
私が行うために必要な笑すべては私のAJAX呼び出しの前に初めに 'localStorage.clear()'でした。しかし、チップをありがとう。これは便利です。 –