0
我想調用返回,Web服務規範如下面的鏈接中提到的JSON對象的網絡服務:無法做出一個Ajax調用JSON網絡服務
http://dev.joget.org/community/display/KB/JSON+API#JSONAPI-web%2Fjson%2Fworkflow%2Fpackage%2Flist
我有一個我的asp.net MVC3 Web應用程序中簡單的觀點如下:
@{
ViewBag.Title = "Home Page";
}
<script src="@Url.Content("~/Scripts/f.js")" type="text/javascript"></script>
<h2>@ViewBag.Message</h2>
<p>
To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
</p>
<h1>The Processes are </h1>
<ul id="products"/>
及以下f.js來調用Web服務並顯示返回的JSON數據:
$(document).ready(function() {
$.ajax({
type: 'GET',
url: 'http://localhost:8080/jw/web/json/workflow/package/list?loginAs=admin',
dataType: 'json',
success: function(data) {
$.each(data, function(key, val) {
alert("jsonData");
// Format the text to display.
var str = val.packageId + ': $' + val.packageName;
// Add a list item for the product.
$('<li/>', {
text: str
}).appendTo($('#products'));
});
}
});
});
但問題是,當我導航到視圖時,由於AJAX調用,視圖上將不顯示任何內容,請記住,如果手動輸入URL:'http:// localhost:8080/jw/web/json/workflow/package/list?loginAs = admin'在我的瀏覽器的地址欄中,那麼結果會在瀏覽器內成功顯示?
那麼可能會出現什麼問題?
:::修訂:::
我更新了我的JavaScript以下幾點:
$(document).ready(function() {
$.ajax({
type: "GET",
url: "http://localhost:8080/jw/web/json/workflow/package/list?loginAs=admin",
dataType: "JSONP",
contentType: "application/json; charset=utf-8",
success: function(data) {
$.each(data, function(key, val) {
// Format the text to display.
var str = val.packageId + ': $ ' + val.packageName;
// Add a list item for the product.
$('<li/>', {
text: str
}).appendTo($('#products'));
});
}
});
});
但Web服務調用的結果返回爲:
- undefined: $ undefined
而不是:
{"activityId":"","processId":"289_process1"}
那麼,是什麼問題阻止我的代碼顯示正確的數據?
你能與螢火蟲或提琴手檢查請求和響應? – tpeczek
您的.NET代碼是否位於同一個域「http:// localhost:8080」?如果不是,你將有'同源'的問題。 – davehale23
你有沒有嘗試把「contentType:」application/json; charset = utf-8「,」在ajax調用屬性? –