IDの検索から名前の検索に変更されました。何らかの理由で未定義の値が返されています。jqueryとweb apiを使用して未定義の値が返されました
var uri = 'http://localhost:11313/api/Mountains?name=';
function formatItem(item) {
return item.Latitude +', '+ item.Longitude;
}
function find() {
var search = $('#MountID').val();
$.getJSON(uri + search)
.done(function (data) {
$('#mountain').text(formatItem(data));
})
.fail(function (jqXHR, textStatus, err) {
$('#mountain').text('Error: ' + err);
});
}
これはうまくいきますか?
var uri = 'http://localhost:11313/api/Mountains'; //changed
function formatItem(item) {
return item.Latitude +', '+ item.Longitude;
}
function find() {
var search = $('#MountID').val();
$.getJSON(uri + '/' + search) //changed
.done(function (data) {
$('#mountain').text(formatItem(data));
})
.fail(function (jqXHR, textStatus, err) {
$('#mountain').text('Error: ' + err);
});
}
このパスはvar uri = 'http://localhost:11313/api/Mountains';
を動作し、これはvar uri = 'http://localhost:11313/api/Mountains?name=';
ない理由はありますか?
私はvar uri = 'http://localhost:11313/api/Mountains?name=';
にアクセスできます。最後の名前は、私のブラウザからちょうどいいですか?
<Mountain>
<Height_ft>2953</Height_ft>
<Height_m>900</Height_m>
<ID>c21</ID>
<Latitude>57.073142</Latitude>
<Longitude>-3.3310457</Longitude>
<Name>Culardoch</Name>
<humidity>0.42</humidity>
<snowCover>1.84</snowCover>
<temperature>66</temperature>
</Mountain>
私は、ステータス200がOKを得ると私はボタンをクリックしたときに、私は実際の検索からresponeを得る:
[ResponseType(typeof(Mountain))]
public IHttpActionResult GetMountain(string id)
{
Mountain mountain = db.Mountains.Find(id);
if (mountain == null)
{
return NotFound();
}
return Ok(mountain);
}
public IQueryable<Mountain> GetMountainByName(string name)
{
return db.Mountains.Where(n => string.Equals(n.Name, name));
}
、どのような発信要求は次のように見えますか?あなたは 'localhost:11313/api/mountains?name = search'のようなものを期待していますか? – Delosdos
発信リクエストはOKです。「http:// localhost:11313/api/Mountains?name = Culardoch'はステータス200 okを返します。まだ未定義、定義されていないと言っていますか? –
'data'には何がありますか? – Hydro