我觉得无法解决这个问题很愚蠢,但是我一直在$('#input')。val()行上发出未定义的发布请求。有人可以帮我解决这个问题吗?
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
let sr = $("#input").val();
$(document).ready(function(){
$("button").click(function(){
$.post("http://localhost:8080/", {subreddit: sr}, function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
</script>
</head>
<body>
<div id='content' style="height:100%, width:100%">
<input id='input' type="text" placeholder='enter subreddit'/>
<button>Search</button>
</form>
</div>
</body>
</html>
答案 0 :(得分:1)
这是因为脚本的该部分在加载DOM之前正在运行。将其移动到// myPage.html
//...
<ion-content padding>
<iframe [class]="webPage"
[name]="samplePage"
[src]="sanitizer.bypassSecurityTrustResourceUrl{{myURL}}">
</iframe>
</ion-content>
//myPage.ts
//...
myURL: any;
constructor(public navController: NavController,
public navParams: NavParams,
private sanitizer: DomSanitizer) {
this.myURL = 'https://example.com';
}
中:
$(document).ready()
答案 1 :(得分:1)
单击按钮时,脚本的let sr = $("#input").val();
部分应运行。
将其移动到点击处理程序中,如下所示:
$(document).ready(function() {
$("button").click(function(){
let sr = $("#input").val();
$.post("http://localhost:8080/", {subreddit: sr}, function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
答案 2 :(得分:0)
我的问题实际上与后端有关。它一直返回未定义的状态,因为我没有调用.toString()方法。感谢您的帮助。