/ / Asp.net pagemethods не працюють з більшістю браузерів - javascript, asp.net, asp.net-ajax

Pagemethods Asp.net не працюють з більшістю браузерів - javascript, asp.net, asp.net-ajax

Я використовую ASP.net pagemethods.Це питання у мене полягає в тому, що воно не працює з певними браузерами. наприклад, IE, Opera Safari та новий Firefox. Це працює з Chrome. Я знайшов це, але не допоміг у моїй справі http://www.carlj.ca/2008/06/18/fixing-firefoxs-ns_error_not_available-error-when-using-pagemethods/ будь-яка допомога буде високо оцінена.

<asp:ScriptManager ID=”scManager″ enablepagemethods=”true” runat=”server” />
<asp:Button ID="btnBuyNow" runat="server" Text="Buy Now" OnClientClick="AddProductToCart()" />

<script type="text/javascript">
function AddProductToCart() {
//hard coded values for testing, productId, quantity
PageMethods.AddProduct(142, 1);
window.location.href = "../Cart.aspx";
}
</script>

[System.Web.Services.WebMethod]
public static void AddProduct(string prodId, string quantity)
{
//adding product to cart
//When testing with Chrome breakpoint is hit,
//All other browsers dont hit break point
CurrentCart.AddProduct(prodId, quantity);
}

Відповіді:

0 для відповіді № 1
  <script language="javascript" type="text/javascript">
$(document).ready(function() {
$("#Save").click(InsertClient);
}
);
function InsertClient() {
var BizName = $("#txtBizName").val();
alert(BizName);
$.ajax({
url: "Common.asmx/InsertClient",
type: "POST",
dataType: "json",
data: "{BizName:"" + BizName + ""}",
contentType: "application/json; charset=utf-8",
success: function(msg) {
$("#status").html("Id: "+msg["d"]["Id"]);
},
error: function(e) {
$("#status").innerHTML = "Unavailable";
}
});
}
</script>



in Common.asmx write webmethod as follow

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public Client InsertClient(string BizName)
{
Client objClient = new Client();
objClient.BizName = BizName;
InsertData(objClient);
return objClient;
}

0 для відповіді № 2

Це може бути кращим рішенням, але це єдине, що врешті-решт спрацювало.

<script type="text/javascript">

function AddProductToCart() {

//hard coded values for testing, productId, quantity
PageMethods.AddProduct(142, 1);

var millisecondsToWait = 500;
setTimeout(function () {
window.location.href = "../Cart.aspx";
}, millisecondsToWait);
}
</script>